OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2016 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 500 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
511 EXPECT_EQ(*candidate_stats->protocol, candidate.protocol()); | 511 EXPECT_EQ(*candidate_stats->protocol, candidate.protocol()); |
512 EXPECT_EQ(*candidate_stats->candidate_type, | 512 EXPECT_EQ(*candidate_stats->candidate_type, |
513 CandidateTypeToRTCIceCandidateTypeForTesting(candidate.type())); | 513 CandidateTypeToRTCIceCandidateTypeForTesting(candidate.type())); |
514 EXPECT_EQ(*candidate_stats->priority, | 514 EXPECT_EQ(*candidate_stats->priority, |
515 static_cast<int32_t>(candidate.priority())); | 515 static_cast<int32_t>(candidate.priority())); |
516 // TODO(hbos): Define candidate_stats->url. crbug.com/632723 | 516 // TODO(hbos): Define candidate_stats->url. crbug.com/632723 |
517 EXPECT_FALSE(candidate_stats->url.is_defined()); | 517 EXPECT_FALSE(candidate_stats->url.is_defined()); |
518 return candidate_stats; | 518 return candidate_stats; |
519 } | 519 } |
520 | 520 |
521 void ExpectReportContainsCertificateInfo( | |
522 const rtc::scoped_refptr<const RTCStatsReport>& report, | |
523 const CertificateInfo& cert_info) { | |
524 for (size_t i = 0; i < cert_info.fingerprints.size(); ++i) { | |
525 const RTCStats* stats = report->Get( | |
526 "RTCCertificate_" + cert_info.fingerprints[i]); | |
527 ASSERT_TRUE(stats); | |
528 const RTCCertificateStats& cert_stats = | |
529 stats->cast_to<const RTCCertificateStats>(); | |
530 EXPECT_EQ(*cert_stats.fingerprint, cert_info.fingerprints[i]); | |
531 EXPECT_EQ(*cert_stats.fingerprint_algorithm, "sha-1"); | |
532 EXPECT_EQ(*cert_stats.base64_certificate, cert_info.pems[i]); | |
533 if (i + 1 < cert_info.fingerprints.size()) { | |
534 EXPECT_EQ(*cert_stats.issuer_certificate_id, | |
535 "RTCCertificate_" + cert_info.fingerprints[i + 1]); | |
536 } else { | |
537 EXPECT_FALSE(cert_stats.issuer_certificate_id.is_defined()); | |
538 } | |
539 } | |
540 } | |
541 | |
542 void ExpectReportContainsDataChannel( | 521 void ExpectReportContainsDataChannel( |
543 const rtc::scoped_refptr<const RTCStatsReport>& report, | 522 const rtc::scoped_refptr<const RTCStatsReport>& report, |
544 const DataChannel& data_channel) { | 523 const DataChannel& data_channel) { |
545 const RTCStats* stats = report->Get("RTCDataChannel_" + | 524 const RTCStats* stats = report->Get("RTCDataChannel_" + |
546 rtc::ToString<>(data_channel.id())); | 525 rtc::ToString<>(data_channel.id())); |
547 EXPECT_TRUE(stats); | 526 EXPECT_TRUE(stats); |
548 const RTCDataChannelStats& data_channel_stats = | 527 const RTCDataChannelStats& data_channel_stats = |
549 stats->cast_to<const RTCDataChannelStats>(); | 528 stats->cast_to<const RTCDataChannelStats>(); |
550 EXPECT_EQ(*data_channel_stats.label, data_channel.label()); | 529 EXPECT_EQ(*data_channel_stats.label, data_channel.label()); |
551 EXPECT_EQ(*data_channel_stats.protocol, data_channel.protocol()); | 530 EXPECT_EQ(*data_channel_stats.protocol, data_channel.protocol()); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
645 })); | 624 })); |
646 EXPECT_CALL(test_->session(), | 625 EXPECT_CALL(test_->session(), |
647 GetRemoteSSLCertificate_ReturnsRawPointer(_)).WillRepeatedly(Invoke( | 626 GetRemoteSSLCertificate_ReturnsRawPointer(_)).WillRepeatedly(Invoke( |
648 [this, &remote_certinfo](const std::string& transport_name) { | 627 [this, &remote_certinfo](const std::string& transport_name) { |
649 if (transport_name == "transport") | 628 if (transport_name == "transport") |
650 return remote_certinfo->certificate->ssl_certificate().GetReference(); | 629 return remote_certinfo->certificate->ssl_certificate().GetReference(); |
651 return static_cast<rtc::SSLCertificate*>(nullptr); | 630 return static_cast<rtc::SSLCertificate*>(nullptr); |
652 })); | 631 })); |
653 | 632 |
654 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 633 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
655 ExpectReportContainsCertificateInfo(report, *local_certinfo.get()); | 634 |
656 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get()); | 635 RTCCertificateStats expected_local_certificate( |
636 "RTCCertificate_" + local_certinfo->fingerprints[0], | |
637 report->timestamp_us()); | |
638 expected_local_certificate.fingerprint = local_certinfo->fingerprints[0]; | |
639 expected_local_certificate.fingerprint_algorithm = "sha-1"; | |
640 expected_local_certificate.base64_certificate = local_certinfo->pems[0]; | |
641 ASSERT(report->Get(expected_local_certificate.id())); | |
Taylor Brandstetter
2016/12/20 19:49:49
Should this use ASSERT_TRUE, so it's a gtest asser
hbos
2016/12/21 09:59:11
Ah, yes!
| |
642 EXPECT_EQ(expected_local_certificate, | |
643 report->Get(expected_local_certificate.id())->cast_to< | |
644 RTCCertificateStats>()); | |
Taylor Brandstetter
2016/12/20 19:49:49
Each of these blocks of code is effectively the sa
hbos
2016/12/21 09:59:11
Yeah that makes sense :) Done.
| |
645 | |
646 RTCCertificateStats expected_remote_certificate( | |
647 "RTCCertificate_" + remote_certinfo->fingerprints[0], | |
648 report->timestamp_us()); | |
649 expected_remote_certificate.fingerprint = remote_certinfo->fingerprints[0]; | |
650 expected_remote_certificate.fingerprint_algorithm = "sha-1"; | |
651 expected_remote_certificate.base64_certificate = remote_certinfo->pems[0]; | |
652 ASSERT(report->Get(expected_remote_certificate.id())); | |
653 EXPECT_EQ(expected_remote_certificate, | |
654 report->Get(expected_remote_certificate.id())->cast_to< | |
655 RTCCertificateStats>()); | |
657 } | 656 } |
658 | 657 |
659 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { | 658 TEST_F(RTCStatsCollectorTest, CollectRTCCodecStats) { |
660 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); | 659 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); |
661 cricket::VoiceChannel voice_channel( | 660 cricket::VoiceChannel voice_channel( |
662 test_->worker_thread(), test_->network_thread(), test_->media_engine(), | 661 test_->worker_thread(), test_->network_thread(), test_->media_engine(), |
663 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, | 662 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, |
664 kDefaultSrtpRequired); | 663 kDefaultSrtpRequired); |
665 | 664 |
666 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); | 665 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
824 .GetReference(); | 823 .GetReference(); |
825 } | 824 } |
826 if (transport_name == "video") { | 825 if (transport_name == "video") { |
827 return video_remote_certinfo->certificate->ssl_certificate() | 826 return video_remote_certinfo->certificate->ssl_certificate() |
828 .GetReference(); | 827 .GetReference(); |
829 } | 828 } |
830 return static_cast<rtc::SSLCertificate*>(nullptr); | 829 return static_cast<rtc::SSLCertificate*>(nullptr); |
831 })); | 830 })); |
832 | 831 |
833 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 832 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
834 ExpectReportContainsCertificateInfo(report, *audio_local_certinfo.get()); | 833 |
835 ExpectReportContainsCertificateInfo(report, *audio_remote_certinfo.get()); | 834 RTCCertificateStats expected_local_audio_certificate( |
836 ExpectReportContainsCertificateInfo(report, *video_local_certinfo.get()); | 835 "RTCCertificate_" + audio_local_certinfo->fingerprints[0], |
837 ExpectReportContainsCertificateInfo(report, *video_remote_certinfo.get()); | 836 report->timestamp_us()); |
837 expected_local_audio_certificate.fingerprint = | |
838 audio_local_certinfo->fingerprints[0]; | |
839 expected_local_audio_certificate.fingerprint_algorithm = "sha-1"; | |
840 expected_local_audio_certificate.base64_certificate = | |
841 audio_local_certinfo->pems[0]; | |
842 ASSERT(report->Get(expected_local_audio_certificate.id())); | |
843 EXPECT_EQ(expected_local_audio_certificate, | |
844 report->Get(expected_local_audio_certificate.id())->cast_to< | |
845 RTCCertificateStats>()); | |
846 | |
847 RTCCertificateStats expected_remote_audio_certificate( | |
848 "RTCCertificate_" + audio_remote_certinfo->fingerprints[0], | |
849 report->timestamp_us()); | |
850 expected_remote_audio_certificate.fingerprint = | |
851 audio_remote_certinfo->fingerprints[0]; | |
852 expected_remote_audio_certificate.fingerprint_algorithm = "sha-1"; | |
853 expected_remote_audio_certificate.base64_certificate = | |
854 audio_remote_certinfo->pems[0]; | |
855 ASSERT(report->Get(expected_remote_audio_certificate.id())); | |
856 EXPECT_EQ(expected_remote_audio_certificate, | |
857 report->Get(expected_remote_audio_certificate.id())->cast_to< | |
858 RTCCertificateStats>()); | |
859 | |
860 RTCCertificateStats expected_local_video_certificate( | |
861 "RTCCertificate_" + video_local_certinfo->fingerprints[0], | |
862 report->timestamp_us()); | |
863 expected_local_video_certificate.fingerprint = | |
864 video_local_certinfo->fingerprints[0]; | |
865 expected_local_video_certificate.fingerprint_algorithm = "sha-1"; | |
866 expected_local_video_certificate.base64_certificate = | |
867 video_local_certinfo->pems[0]; | |
868 ASSERT(report->Get(expected_local_video_certificate.id())); | |
869 EXPECT_EQ(expected_local_video_certificate, | |
870 report->Get(expected_local_video_certificate.id())->cast_to< | |
871 RTCCertificateStats>()); | |
872 | |
873 RTCCertificateStats expected_remote_video_certificate( | |
874 "RTCCertificate_" + video_remote_certinfo->fingerprints[0], | |
875 report->timestamp_us()); | |
876 expected_remote_video_certificate.fingerprint = | |
877 video_remote_certinfo->fingerprints[0]; | |
878 expected_remote_video_certificate.fingerprint_algorithm = "sha-1"; | |
879 expected_remote_video_certificate.base64_certificate = | |
880 video_remote_certinfo->pems[0]; | |
881 ASSERT(report->Get(expected_remote_video_certificate.id())); | |
882 EXPECT_EQ(expected_remote_video_certificate, | |
883 report->Get(expected_remote_video_certificate.id())->cast_to< | |
884 RTCCertificateStats>()); | |
838 } | 885 } |
839 | 886 |
840 TEST_F(RTCStatsCollectorTest, CollectRTCCertificateStatsChain) { | 887 TEST_F(RTCStatsCollectorTest, CollectRTCCertificateStatsChain) { |
841 std::vector<std::string> local_ders; | 888 std::vector<std::string> local_ders; |
842 local_ders.push_back("(local) this"); | 889 local_ders.push_back("(local) this"); |
843 local_ders.push_back("(local) is"); | 890 local_ders.push_back("(local) is"); |
844 local_ders.push_back("(local) a"); | 891 local_ders.push_back("(local) a"); |
845 local_ders.push_back("(local) chain"); | 892 local_ders.push_back("(local) chain"); |
846 std::unique_ptr<CertificateInfo> local_certinfo = | 893 std::unique_ptr<CertificateInfo> local_certinfo = |
847 CreateFakeCertificateAndInfoFromDers(local_ders); | 894 CreateFakeCertificateAndInfoFromDers(local_ders); |
(...skipping 23 matching lines...) Expand all Loading... | |
871 })); | 918 })); |
872 EXPECT_CALL(test_->session(), | 919 EXPECT_CALL(test_->session(), |
873 GetRemoteSSLCertificate_ReturnsRawPointer(_)).WillRepeatedly(Invoke( | 920 GetRemoteSSLCertificate_ReturnsRawPointer(_)).WillRepeatedly(Invoke( |
874 [this, &remote_certinfo](const std::string& transport_name) { | 921 [this, &remote_certinfo](const std::string& transport_name) { |
875 if (transport_name == "transport") | 922 if (transport_name == "transport") |
876 return remote_certinfo->certificate->ssl_certificate().GetReference(); | 923 return remote_certinfo->certificate->ssl_certificate().GetReference(); |
877 return static_cast<rtc::SSLCertificate*>(nullptr); | 924 return static_cast<rtc::SSLCertificate*>(nullptr); |
878 })); | 925 })); |
879 | 926 |
880 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); | 927 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); |
881 ExpectReportContainsCertificateInfo(report, *local_certinfo.get()); | 928 |
882 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get()); | 929 for (size_t i = 0; i < local_certinfo->fingerprints.size(); ++i) { |
930 RTCCertificateStats expected_local_certificate( | |
931 "RTCCertificate_" + local_certinfo->fingerprints[i], | |
932 report->timestamp_us()); | |
933 expected_local_certificate.fingerprint = | |
934 local_certinfo->fingerprints[i]; | |
935 expected_local_certificate.fingerprint_algorithm = "sha-1"; | |
936 expected_local_certificate.base64_certificate = | |
937 local_certinfo->pems[i]; | |
938 if (i + 1 < local_certinfo->fingerprints.size()) { | |
939 expected_local_certificate.issuer_certificate_id = | |
940 "RTCCertificate_" + local_certinfo->fingerprints[i + 1]; | |
941 } | |
942 ASSERT(report->Get(expected_local_certificate.id())); | |
943 EXPECT_EQ(expected_local_certificate, | |
944 report->Get(expected_local_certificate.id())->cast_to< | |
945 RTCCertificateStats>()); | |
946 } | |
947 | |
948 for (size_t i = 0; i < remote_certinfo->fingerprints.size(); ++i) { | |
949 RTCCertificateStats expected_remote_certificate( | |
950 "RTCCertificate_" + remote_certinfo->fingerprints[i], | |
951 report->timestamp_us()); | |
952 expected_remote_certificate.fingerprint = | |
953 remote_certinfo->fingerprints[i]; | |
954 expected_remote_certificate.fingerprint_algorithm = "sha-1"; | |
955 expected_remote_certificate.base64_certificate = | |
956 remote_certinfo->pems[i]; | |
957 if (i + 1 < remote_certinfo->fingerprints.size()) { | |
958 expected_remote_certificate.issuer_certificate_id = | |
959 "RTCCertificate_" + remote_certinfo->fingerprints[i + 1]; | |
960 } | |
961 ASSERT(report->Get(expected_remote_certificate.id())); | |
962 EXPECT_EQ(expected_remote_certificate, | |
963 report->Get(expected_remote_certificate.id())->cast_to< | |
964 RTCCertificateStats>()); | |
965 } | |
883 } | 966 } |
884 | 967 |
885 TEST_F(RTCStatsCollectorTest, CollectRTCDataChannelStats) { | 968 TEST_F(RTCStatsCollectorTest, CollectRTCDataChannelStats) { |
886 test_->data_channels().push_back( | 969 test_->data_channels().push_back( |
887 new MockDataChannel(0, DataChannelInterface::kConnecting)); | 970 new MockDataChannel(0, DataChannelInterface::kConnecting)); |
888 test_->data_channels().push_back( | 971 test_->data_channels().push_back( |
889 new MockDataChannel(1, DataChannelInterface::kOpen)); | 972 new MockDataChannel(1, DataChannelInterface::kOpen)); |
890 test_->data_channels().push_back( | 973 test_->data_channels().push_back( |
891 new MockDataChannel(2, DataChannelInterface::kClosing)); | 974 new MockDataChannel(2, DataChannelInterface::kClosing)); |
892 test_->data_channels().push_back( | 975 test_->data_channels().push_back( |
(...skipping 1014 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1907 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; | 1990 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; |
1908 }; | 1991 }; |
1909 | 1992 |
1910 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { | 1993 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { |
1911 collector_->VerifyThreadUsageAndResultsMerging(); | 1994 collector_->VerifyThreadUsageAndResultsMerging(); |
1912 } | 1995 } |
1913 | 1996 |
1914 } // namespace | 1997 } // namespace |
1915 | 1998 |
1916 } // namespace webrtc | 1999 } // namespace webrtc |
OLD | NEW |