Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1091)

Unified Diff: talk/app/webrtc/peerconnection_unittest.cc

Issue 1156143005: Report metrics about negotiated ciphers. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Overload "AddHistogramSample" to store metrics. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/app/webrtc/peerconnection_unittest.cc
diff --git a/talk/app/webrtc/peerconnection_unittest.cc b/talk/app/webrtc/peerconnection_unittest.cc
index 99ee9be867168a99ca9f6fe898ce2517aede4a56..a6590faa253f1106b1dc9a1d3d18180e2faac580 100644
--- a/talk/app/webrtc/peerconnection_unittest.cc
+++ b/talk/app/webrtc/peerconnection_unittest.cc
@@ -33,6 +33,7 @@
#include <vector>
#include "talk/app/webrtc/dtmfsender.h"
+#include "talk/app/webrtc/fakemetricsobserver.h"
#include "talk/app/webrtc/fakeportallocatorfactory.h"
#include "talk/app/webrtc/localaudiosource.h"
#include "talk/app/webrtc/mediastreaminterface.h"
@@ -1329,17 +1330,27 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12None) {
PeerConnectionFactory::Options recv_options;
recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
+ webrtc::FakeMetricsObserver init_observer;
+ initializing_client()->pc()->RegisterUMAObserver(&init_observer);
LocalP2PTest();
EXPECT_EQ_WAIT(
rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
initializing_client()->GetDtlsCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSslCipher]);
EXPECT_EQ_WAIT(
kDefaultSrtpCipher,
initializing_client()->GetSrtpCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ kDefaultSrtpCipher,
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSrtpCipher]);
}
// Test that DTLS 1.2 is used if both ends support it.
@@ -1349,17 +1360,27 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Both) {
PeerConnectionFactory::Options recv_options;
recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
+ webrtc::FakeMetricsObserver init_observer;
+ initializing_client()->pc()->RegisterUMAObserver(&init_observer);
LocalP2PTest();
EXPECT_EQ_WAIT(
rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_12),
initializing_client()->GetDtlsCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_12),
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSslCipher]);
EXPECT_EQ_WAIT(
kDefaultSrtpCipher,
initializing_client()->GetSrtpCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ kDefaultSrtpCipher,
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSrtpCipher]);
}
// Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the
@@ -1370,17 +1391,27 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Init) {
PeerConnectionFactory::Options recv_options;
recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
+ webrtc::FakeMetricsObserver init_observer;
+ initializing_client()->pc()->RegisterUMAObserver(&init_observer);
LocalP2PTest();
EXPECT_EQ_WAIT(
rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
initializing_client()->GetDtlsCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSslCipher]);
EXPECT_EQ_WAIT(
kDefaultSrtpCipher,
initializing_client()->GetSrtpCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ kDefaultSrtpCipher,
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSrtpCipher]);
}
// Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the
@@ -1391,17 +1422,27 @@ TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Recv) {
PeerConnectionFactory::Options recv_options;
recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
+ webrtc::FakeMetricsObserver init_observer;
+ initializing_client()->pc()->RegisterUMAObserver(&init_observer);
LocalP2PTest();
EXPECT_EQ_WAIT(
rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
initializing_client()->GetDtlsCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10),
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSslCipher]);
EXPECT_EQ_WAIT(
kDefaultSrtpCipher,
initializing_client()->GetSrtpCipherStats(),
kMaxWaitForStatsMs);
+ EXPECT_EQ(
+ kDefaultSrtpCipher,
+ init_observer.peer_connection_metrics_name_string_
+ [webrtc::kAudioSrtpCipher]);
}
// This test sets up a call between two parties with audio, video and data.

Powered by Google App Engine
This is Rietveld 408576698