OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2014 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "webrtc/api/test/fakevideotracksource.h" | 26 #include "webrtc/api/test/fakevideotracksource.h" |
27 #include "webrtc/api/videotrack.h" | 27 #include "webrtc/api/videotrack.h" |
28 #include "webrtc/base/base64.h" | 28 #include "webrtc/base/base64.h" |
29 #include "webrtc/base/fakesslidentity.h" | 29 #include "webrtc/base/fakesslidentity.h" |
30 #include "webrtc/base/gunit.h" | 30 #include "webrtc/base/gunit.h" |
31 #include "webrtc/base/network.h" | 31 #include "webrtc/base/network.h" |
32 #include "webrtc/media/base/fakemediaengine.h" | 32 #include "webrtc/media/base/fakemediaengine.h" |
33 #include "webrtc/p2p/base/faketransportcontroller.h" | 33 #include "webrtc/p2p/base/faketransportcontroller.h" |
34 #include "webrtc/pc/channelmanager.h" | 34 #include "webrtc/pc/channelmanager.h" |
35 | 35 |
36 using rtc::scoped_ptr; | |
37 using testing::_; | 36 using testing::_; |
38 using testing::DoAll; | 37 using testing::DoAll; |
39 using testing::Field; | 38 using testing::Field; |
40 using testing::Return; | 39 using testing::Return; |
41 using testing::ReturnNull; | 40 using testing::ReturnNull; |
42 using testing::ReturnRef; | 41 using testing::ReturnRef; |
43 using testing::SetArgPointee; | 42 using testing::SetArgPointee; |
44 using webrtc::PeerConnectionInterface; | 43 using webrtc::PeerConnectionInterface; |
45 using webrtc::StatsReport; | 44 using webrtc::StatsReport; |
46 using webrtc::StatsReports; | 45 using webrtc::StatsReports; |
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
665 EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id); | 664 EXPECT_EQ(rtc::ToString<uint32_t>(kSsrcOfTrack), ssrc_id); |
666 if (voice_sender_info) | 665 if (voice_sender_info) |
667 VerifyVoiceSenderInfoReport(track_report, *voice_sender_info); | 666 VerifyVoiceSenderInfoReport(track_report, *voice_sender_info); |
668 if (voice_receiver_info) | 667 if (voice_receiver_info) |
669 VerifyVoiceReceiverInfoReport(track_report, *voice_receiver_info); | 668 VerifyVoiceReceiverInfoReport(track_report, *voice_receiver_info); |
670 } | 669 } |
671 | 670 |
672 void TestCertificateReports( | 671 void TestCertificateReports( |
673 const rtc::FakeSSLCertificate& local_cert, | 672 const rtc::FakeSSLCertificate& local_cert, |
674 const std::vector<std::string>& local_ders, | 673 const std::vector<std::string>& local_ders, |
675 rtc::scoped_ptr<rtc::FakeSSLCertificate> remote_cert, | 674 std::unique_ptr<rtc::FakeSSLCertificate> remote_cert, |
676 const std::vector<std::string>& remote_ders) { | 675 const std::vector<std::string>& remote_ders) { |
677 StatsCollectorForTest stats(&pc_); | 676 StatsCollectorForTest stats(&pc_); |
678 | 677 |
679 StatsReports reports; // returned values. | 678 StatsReports reports; // returned values. |
680 | 679 |
681 // Fake stats to process. | 680 // Fake stats to process. |
682 cricket::TransportChannelStats channel_stats; | 681 cricket::TransportChannelStats channel_stats; |
683 channel_stats.component = 1; | 682 channel_stats.component = 1; |
684 channel_stats.srtp_crypto_suite = rtc::SRTP_AES128_CM_SHA1_80; | 683 channel_stats.srtp_crypto_suite = rtc::SRTP_AES128_CM_SHA1_80; |
685 channel_stats.ssl_cipher_suite = | 684 channel_stats.ssl_cipher_suite = |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 internal::TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA), | 750 internal::TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA), |
752 dtls_cipher_suite); | 751 dtls_cipher_suite); |
753 std::string srtp_crypto_suite = | 752 std::string srtp_crypto_suite = |
754 ExtractStatsValue(StatsReport::kStatsReportTypeComponent, reports, | 753 ExtractStatsValue(StatsReport::kStatsReportTypeComponent, reports, |
755 StatsReport::kStatsValueNameSrtpCipher); | 754 StatsReport::kStatsValueNameSrtpCipher); |
756 EXPECT_EQ(rtc::SrtpCryptoSuiteToName(rtc::SRTP_AES128_CM_SHA1_80), | 755 EXPECT_EQ(rtc::SrtpCryptoSuiteToName(rtc::SRTP_AES128_CM_SHA1_80), |
757 srtp_crypto_suite); | 756 srtp_crypto_suite); |
758 } | 757 } |
759 | 758 |
760 cricket::FakeMediaEngine* media_engine_; | 759 cricket::FakeMediaEngine* media_engine_; |
761 rtc::scoped_ptr<cricket::ChannelManager> channel_manager_; | 760 std::unique_ptr<cricket::ChannelManager> channel_manager_; |
762 rtc::scoped_ptr<webrtc::MediaControllerInterface> media_controller_; | 761 std::unique_ptr<webrtc::MediaControllerInterface> media_controller_; |
763 MockWebRtcSession session_; | 762 MockWebRtcSession session_; |
764 MockPeerConnection pc_; | 763 MockPeerConnection pc_; |
765 FakeDataChannelProvider data_channel_provider_; | 764 FakeDataChannelProvider data_channel_provider_; |
766 SessionStats session_stats_; | 765 SessionStats session_stats_; |
767 rtc::scoped_refptr<webrtc::MediaStream> stream_; | 766 rtc::scoped_refptr<webrtc::MediaStream> stream_; |
768 rtc::scoped_refptr<webrtc::VideoTrack> track_; | 767 rtc::scoped_refptr<webrtc::VideoTrack> track_; |
769 rtc::scoped_refptr<FakeAudioTrack> audio_track_; | 768 rtc::scoped_refptr<FakeAudioTrack> audio_track_; |
770 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; | 769 std::vector<rtc::scoped_refptr<DataChannel>> data_channels_; |
771 }; | 770 }; |
772 | 771 |
(...skipping 560 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1333 local_ders[3] = "der"; | 1332 local_ders[3] = "der"; |
1334 local_ders[4] = "values"; | 1333 local_ders[4] = "values"; |
1335 rtc::FakeSSLCertificate local_cert(DersToPems(local_ders)); | 1334 rtc::FakeSSLCertificate local_cert(DersToPems(local_ders)); |
1336 | 1335 |
1337 // Build remote certificate chain | 1336 // Build remote certificate chain |
1338 std::vector<std::string> remote_ders(4); | 1337 std::vector<std::string> remote_ders(4); |
1339 remote_ders[0] = "A"; | 1338 remote_ders[0] = "A"; |
1340 remote_ders[1] = "non-"; | 1339 remote_ders[1] = "non-"; |
1341 remote_ders[2] = "intersecting"; | 1340 remote_ders[2] = "intersecting"; |
1342 remote_ders[3] = "set"; | 1341 remote_ders[3] = "set"; |
1343 rtc::scoped_ptr<rtc::FakeSSLCertificate> remote_cert( | 1342 std::unique_ptr<rtc::FakeSSLCertificate> remote_cert( |
1344 new rtc::FakeSSLCertificate(DersToPems(remote_ders))); | 1343 new rtc::FakeSSLCertificate(DersToPems(remote_ders))); |
1345 | 1344 |
1346 TestCertificateReports(local_cert, local_ders, std::move(remote_cert), | 1345 TestCertificateReports(local_cert, local_ders, std::move(remote_cert), |
1347 remote_ders); | 1346 remote_ders); |
1348 } | 1347 } |
1349 | 1348 |
1350 // This test verifies that all certificates without chains are correctly | 1349 // This test verifies that all certificates without chains are correctly |
1351 // reported. | 1350 // reported. |
1352 TEST_F(StatsCollectorTest, ChainlessCertificateReportsCreated) { | 1351 TEST_F(StatsCollectorTest, ChainlessCertificateReportsCreated) { |
1353 // Build local certificate. | 1352 // Build local certificate. |
1354 std::string local_der = "This is the local der."; | 1353 std::string local_der = "This is the local der."; |
1355 rtc::FakeSSLCertificate local_cert(DerToPem(local_der)); | 1354 rtc::FakeSSLCertificate local_cert(DerToPem(local_der)); |
1356 | 1355 |
1357 // Build remote certificate. | 1356 // Build remote certificate. |
1358 std::string remote_der = "This is somebody else's der."; | 1357 std::string remote_der = "This is somebody else's der."; |
1359 rtc::scoped_ptr<rtc::FakeSSLCertificate> remote_cert( | 1358 std::unique_ptr<rtc::FakeSSLCertificate> remote_cert( |
1360 new rtc::FakeSSLCertificate(DerToPem(remote_der))); | 1359 new rtc::FakeSSLCertificate(DerToPem(remote_der))); |
1361 | 1360 |
1362 TestCertificateReports(local_cert, std::vector<std::string>(1, local_der), | 1361 TestCertificateReports(local_cert, std::vector<std::string>(1, local_der), |
1363 std::move(remote_cert), | 1362 std::move(remote_cert), |
1364 std::vector<std::string>(1, remote_der)); | 1363 std::vector<std::string>(1, remote_der)); |
1365 } | 1364 } |
1366 | 1365 |
1367 // This test verifies that the stats are generated correctly when no | 1366 // This test verifies that the stats are generated correctly when no |
1368 // transport is present. | 1367 // transport is present. |
1369 TEST_F(StatsCollectorTest, NoTransport) { | 1368 TEST_F(StatsCollectorTest, NoTransport) { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1439 | 1438 |
1440 cricket::TransportStats transport_stats; | 1439 cricket::TransportStats transport_stats; |
1441 transport_stats.transport_name = "audio"; | 1440 transport_stats.transport_name = "audio"; |
1442 transport_stats.channel_stats.push_back(channel_stats); | 1441 transport_stats.channel_stats.push_back(channel_stats); |
1443 | 1442 |
1444 SessionStats session_stats; | 1443 SessionStats session_stats; |
1445 session_stats.transport_stats[transport_stats.transport_name] = | 1444 session_stats.transport_stats[transport_stats.transport_name] = |
1446 transport_stats; | 1445 transport_stats; |
1447 | 1446 |
1448 // Fake transport object. | 1447 // Fake transport object. |
1449 rtc::scoped_ptr<cricket::FakeTransport> transport( | 1448 std::unique_ptr<cricket::FakeTransport> transport( |
1450 new cricket::FakeTransport(transport_stats.transport_name)); | 1449 new cricket::FakeTransport(transport_stats.transport_name)); |
1451 | 1450 |
1452 // Configure MockWebRtcSession | 1451 // Configure MockWebRtcSession |
1453 EXPECT_CALL(session_, GetTransportStats(_)) | 1452 EXPECT_CALL(session_, GetTransportStats(_)) |
1454 .WillOnce(DoAll(SetArgPointee<0>(session_stats), | 1453 .WillOnce(DoAll(SetArgPointee<0>(session_stats), |
1455 Return(true))); | 1454 Return(true))); |
1456 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); | 1455 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); |
1457 stats.GetStats(NULL, &reports); | 1456 stats.GetStats(NULL, &reports); |
1458 | 1457 |
1459 // Check that the local certificate is absent. | 1458 // Check that the local certificate is absent. |
(...skipping 13 matching lines...) Expand all Loading... |
1473 | 1472 |
1474 // This test verifies that a remote certificate with an unsupported digest | 1473 // This test verifies that a remote certificate with an unsupported digest |
1475 // algorithm is correctly ignored. | 1474 // algorithm is correctly ignored. |
1476 TEST_F(StatsCollectorTest, UnsupportedDigestIgnored) { | 1475 TEST_F(StatsCollectorTest, UnsupportedDigestIgnored) { |
1477 // Build a local certificate. | 1476 // Build a local certificate. |
1478 std::string local_der = "This is the local der."; | 1477 std::string local_der = "This is the local der."; |
1479 rtc::FakeSSLCertificate local_cert(DerToPem(local_der)); | 1478 rtc::FakeSSLCertificate local_cert(DerToPem(local_der)); |
1480 | 1479 |
1481 // Build a remote certificate with an unsupported digest algorithm. | 1480 // Build a remote certificate with an unsupported digest algorithm. |
1482 std::string remote_der = "This is somebody else's der."; | 1481 std::string remote_der = "This is somebody else's der."; |
1483 rtc::scoped_ptr<rtc::FakeSSLCertificate> remote_cert( | 1482 std::unique_ptr<rtc::FakeSSLCertificate> remote_cert( |
1484 new rtc::FakeSSLCertificate(DerToPem(remote_der))); | 1483 new rtc::FakeSSLCertificate(DerToPem(remote_der))); |
1485 remote_cert->set_digest_algorithm("foobar"); | 1484 remote_cert->set_digest_algorithm("foobar"); |
1486 | 1485 |
1487 TestCertificateReports(local_cert, std::vector<std::string>(1, local_der), | 1486 TestCertificateReports(local_cert, std::vector<std::string>(1, local_der), |
1488 std::move(remote_cert), std::vector<std::string>()); | 1487 std::move(remote_cert), std::vector<std::string>()); |
1489 } | 1488 } |
1490 | 1489 |
1491 // This test verifies that a local stats object can get statistics via | 1490 // This test verifies that a local stats object can get statistics via |
1492 // AudioTrackInterface::GetStats() method. | 1491 // AudioTrackInterface::GetStats() method. |
1493 TEST_F(StatsCollectorTest, GetStatsFromLocalAudioTrack) { | 1492 TEST_F(StatsCollectorTest, GetStatsFromLocalAudioTrack) { |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1747 cricket::VoiceSenderInfo new_voice_sender_info; | 1746 cricket::VoiceSenderInfo new_voice_sender_info; |
1748 InitVoiceSenderInfo(&new_voice_sender_info); | 1747 InitVoiceSenderInfo(&new_voice_sender_info); |
1749 cricket::VoiceMediaInfo new_stats_read; | 1748 cricket::VoiceMediaInfo new_stats_read; |
1750 reports.clear(); | 1749 reports.clear(); |
1751 SetupAndVerifyAudioTrackStats( | 1750 SetupAndVerifyAudioTrackStats( |
1752 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, | 1751 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, |
1753 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); | 1752 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); |
1754 } | 1753 } |
1755 | 1754 |
1756 } // namespace webrtc | 1755 } // namespace webrtc |
OLD | NEW |