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

Side by Side Diff: talk/app/webrtc/peerconnection_unittest.cc

Issue 1337673002: Change WebRTC SslCipher to be exposed as number only. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2012 Google Inc. 3 * Copyright 2012 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 1324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1335 PeerConnectionFactory::Options init_options; 1335 PeerConnectionFactory::Options init_options;
1336 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1336 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1337 PeerConnectionFactory::Options recv_options; 1337 PeerConnectionFactory::Options recv_options;
1338 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1338 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1339 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options)); 1339 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
1340 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1340 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1341 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1341 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1342 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1342 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1343 LocalP2PTest(); 1343 LocalP2PTest();
1344 1344
1345 EXPECT_EQ_WAIT( 1345 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::GetRfcSslCipherName(
1346 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1346 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1347 initializing_client()->GetDtlsCipherStats(), 1347 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)),
1348 kMaxWaitForStatsMs); 1348 initializing_client()->GetDtlsCipherStats(),
1349 EXPECT_EQ( 1349 kMaxWaitForStatsMs);
1350 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1350 EXPECT_EQ(1, init_observer->GetEnumCounter(
1351 init_observer->GetStringHistogramSample(webrtc::kAudioSslCipher)); 1351 webrtc::kEnumCounterAudioSslCipher,
1352 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1353 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1352 1354
1353 EXPECT_EQ_WAIT( 1355 EXPECT_EQ_WAIT(kDefaultSrtpCipher,
1354 kDefaultSrtpCipher, 1356 initializing_client()->GetSrtpCipherStats(),
1355 initializing_client()->GetSrtpCipherStats(), 1357 kMaxWaitForStatsMs);
1356 kMaxWaitForStatsMs); 1358 EXPECT_EQ(1, init_observer->GetEnumCounter(
1357 EXPECT_EQ( 1359 webrtc::kEnumCounterAudioSrtpCipher,
1358 kDefaultSrtpCipher, 1360 rtc::GetSrtpCipherType(kDefaultSrtpCipher)));
1359 init_observer->GetStringHistogramSample(webrtc::kAudioSrtpCipher));
1360 } 1361 }
1361 1362
1362 // Test that DTLS 1.2 is used if both ends support it. 1363 // Test that DTLS 1.2 is used if both ends support it.
1363 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Both) { 1364 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Both) {
1364 PeerConnectionFactory::Options init_options; 1365 PeerConnectionFactory::Options init_options;
1365 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1366 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1366 PeerConnectionFactory::Options recv_options; 1367 PeerConnectionFactory::Options recv_options;
1367 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1368 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1368 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options)); 1369 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
1369 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1370 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1370 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1371 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1371 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1372 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1372 LocalP2PTest(); 1373 LocalP2PTest();
1373 1374
1374 EXPECT_EQ_WAIT( 1375 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::GetRfcSslCipherName(
1375 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_12), 1376 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1376 initializing_client()->GetDtlsCipherStats(), 1377 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT)),
1377 kMaxWaitForStatsMs); 1378 initializing_client()->GetDtlsCipherStats(),
1378 EXPECT_EQ( 1379 kMaxWaitForStatsMs);
1379 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_12), 1380 EXPECT_EQ(1, init_observer->GetEnumCounter(
1380 init_observer->GetStringHistogramSample(webrtc::kAudioSslCipher)); 1381 webrtc::kEnumCounterAudioSslCipher,
1382 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1383 rtc::SSL_PROTOCOL_DTLS_12, rtc::KT_DEFAULT)));
1381 1384
1382 EXPECT_EQ_WAIT( 1385 EXPECT_EQ_WAIT(
1383 kDefaultSrtpCipher, 1386 kDefaultSrtpCipher,
1384 initializing_client()->GetSrtpCipherStats(), 1387 initializing_client()->GetSrtpCipherStats(),
1385 kMaxWaitForStatsMs); 1388 kMaxWaitForStatsMs);
1386 EXPECT_EQ( 1389 EXPECT_EQ(1, init_observer->GetEnumCounter(
1387 kDefaultSrtpCipher, 1390 webrtc::kEnumCounterAudioSrtpCipher,
1388 init_observer->GetStringHistogramSample(webrtc::kAudioSrtpCipher)); 1391 rtc::GetSrtpCipherType(kDefaultSrtpCipher)));
1389 } 1392 }
1390 1393
1391 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the 1394 // Test that DTLS 1.0 is used if the initator supports DTLS 1.2 and the
1392 // received supports 1.0. 1395 // received supports 1.0.
1393 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Init) { 1396 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Init) {
1394 PeerConnectionFactory::Options init_options; 1397 PeerConnectionFactory::Options init_options;
1395 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1398 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1396 PeerConnectionFactory::Options recv_options; 1399 PeerConnectionFactory::Options recv_options;
1397 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1400 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1398 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options)); 1401 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
1399 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1402 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1400 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1403 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1401 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1404 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1402 LocalP2PTest(); 1405 LocalP2PTest();
1403 1406
1404 EXPECT_EQ_WAIT( 1407 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::GetRfcSslCipherName(
1405 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1408 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1406 initializing_client()->GetDtlsCipherStats(), 1409 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)),
1407 kMaxWaitForStatsMs); 1410 initializing_client()->GetDtlsCipherStats(),
1408 EXPECT_EQ( 1411 kMaxWaitForStatsMs);
1409 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1412 EXPECT_EQ(1, init_observer->GetEnumCounter(
1410 init_observer->GetStringHistogramSample(webrtc::kAudioSslCipher)); 1413 webrtc::kEnumCounterAudioSslCipher,
1414 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1415 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1411 1416
1412 EXPECT_EQ_WAIT( 1417 EXPECT_EQ_WAIT(
1413 kDefaultSrtpCipher, 1418 kDefaultSrtpCipher,
1414 initializing_client()->GetSrtpCipherStats(), 1419 initializing_client()->GetSrtpCipherStats(),
1415 kMaxWaitForStatsMs); 1420 kMaxWaitForStatsMs);
1416 EXPECT_EQ( 1421 EXPECT_EQ(1, init_observer->GetEnumCounter(
1417 kDefaultSrtpCipher, 1422 webrtc::kEnumCounterAudioSrtpCipher,
1418 init_observer->GetStringHistogramSample(webrtc::kAudioSrtpCipher)); 1423 rtc::GetSrtpCipherType(kDefaultSrtpCipher)));
1419 } 1424 }
1420 1425
1421 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the 1426 // Test that DTLS 1.0 is used if the initator supports DTLS 1.0 and the
1422 // received supports 1.2. 1427 // received supports 1.2.
1423 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Recv) { 1428 TEST_F(JsepPeerConnectionP2PTestClient, GetDtls12Recv) {
1424 PeerConnectionFactory::Options init_options; 1429 PeerConnectionFactory::Options init_options;
1425 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10; 1430 init_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_10;
1426 PeerConnectionFactory::Options recv_options; 1431 PeerConnectionFactory::Options recv_options;
1427 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12; 1432 recv_options.ssl_max_version = rtc::SSL_PROTOCOL_DTLS_12;
1428 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options)); 1433 ASSERT_TRUE(CreateTestClients(NULL, &init_options, NULL, &recv_options));
1429 rtc::scoped_refptr<webrtc::FakeMetricsObserver> 1434 rtc::scoped_refptr<webrtc::FakeMetricsObserver>
1430 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>(); 1435 init_observer = new rtc::RefCountedObject<webrtc::FakeMetricsObserver>();
1431 initializing_client()->pc()->RegisterUMAObserver(init_observer); 1436 initializing_client()->pc()->RegisterUMAObserver(init_observer);
1432 LocalP2PTest(); 1437 LocalP2PTest();
1433 1438
1434 EXPECT_EQ_WAIT( 1439 EXPECT_EQ_WAIT(rtc::SSLStreamAdapter::GetRfcSslCipherName(
1435 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1440 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1436 initializing_client()->GetDtlsCipherStats(), 1441 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)),
1437 kMaxWaitForStatsMs); 1442 initializing_client()->GetDtlsCipherStats(),
1438 EXPECT_EQ( 1443 kMaxWaitForStatsMs);
1439 rtc::SSLStreamAdapter::GetDefaultSslCipher(rtc::SSL_PROTOCOL_DTLS_10), 1444 EXPECT_EQ(1, init_observer->GetEnumCounter(
1440 init_observer->GetStringHistogramSample(webrtc::kAudioSslCipher)); 1445 webrtc::kEnumCounterAudioSslCipher,
1446 rtc::SSLStreamAdapter::GetDefaultSslCipherForTest(
1447 rtc::SSL_PROTOCOL_DTLS_10, rtc::KT_DEFAULT)));
1441 1448
1442 EXPECT_EQ_WAIT( 1449 EXPECT_EQ_WAIT(
1443 kDefaultSrtpCipher, 1450 kDefaultSrtpCipher,
1444 initializing_client()->GetSrtpCipherStats(), 1451 initializing_client()->GetSrtpCipherStats(),
1445 kMaxWaitForStatsMs); 1452 kMaxWaitForStatsMs);
1446 EXPECT_EQ( 1453 EXPECT_EQ(1, init_observer->GetEnumCounter(
1447 kDefaultSrtpCipher, 1454 webrtc::kEnumCounterAudioSrtpCipher,
1448 init_observer->GetStringHistogramSample(webrtc::kAudioSrtpCipher)); 1455 rtc::GetSrtpCipherType(kDefaultSrtpCipher)));
1449 } 1456 }
1450 1457
1451 // This test sets up a call between two parties with audio, video and data. 1458 // This test sets up a call between two parties with audio, video and data.
1452 TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDataChannel) { 1459 TEST_F(JsepPeerConnectionP2PTestClient, LocalP2PTestDataChannel) {
1453 FakeConstraints setup_constraints; 1460 FakeConstraints setup_constraints;
1454 setup_constraints.SetAllowRtpDataChannels(); 1461 setup_constraints.SetAllowRtpDataChannels();
1455 ASSERT_TRUE(CreateTestClients(&setup_constraints, &setup_constraints)); 1462 ASSERT_TRUE(CreateTestClients(&setup_constraints, &setup_constraints));
1456 initializing_client()->CreateDataChannel(); 1463 initializing_client()->CreateDataChannel();
1457 LocalP2PTest(); 1464 LocalP2PTest();
1458 ASSERT_TRUE(initializing_client()->data_channel() != NULL); 1465 ASSERT_TRUE(initializing_client()->data_channel() != NULL);
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1620 // TODO(holmer): Disabled due to sometimes crashing on buildbots. 1627 // TODO(holmer): Disabled due to sometimes crashing on buildbots.
1621 // See issue webrtc/2378. 1628 // See issue webrtc/2378.
1622 TEST_F(JsepPeerConnectionP2PTestClient, 1629 TEST_F(JsepPeerConnectionP2PTestClient,
1623 DISABLED_LocalP2PTestWithVideoDecoderFactory) { 1630 DISABLED_LocalP2PTestWithVideoDecoderFactory) {
1624 ASSERT_TRUE(CreateTestClients()); 1631 ASSERT_TRUE(CreateTestClients());
1625 EnableVideoDecoderFactory(); 1632 EnableVideoDecoderFactory();
1626 LocalP2PTest(); 1633 LocalP2PTest();
1627 } 1634 }
1628 1635
1629 #endif // if !defined(THREAD_SANITIZER) 1636 #endif // if !defined(THREAD_SANITIZER)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698