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

Side by Side Diff: webrtc/api/rtcstatscollector_unittest.cc

Issue 2597433002: RTCStatsCollectorTest: Remove ExpectReportContainsDataChannel. (Closed)
Patch Set: Created 4 years 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
« no previous file with comments | « no previous file | webrtc/api/test/mock_datachannel.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 521 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 EXPECT_EQ(*cert_stats.base64_certificate, cert_info.pems[i]); 532 EXPECT_EQ(*cert_stats.base64_certificate, cert_info.pems[i]);
533 if (i + 1 < cert_info.fingerprints.size()) { 533 if (i + 1 < cert_info.fingerprints.size()) {
534 EXPECT_EQ(*cert_stats.issuer_certificate_id, 534 EXPECT_EQ(*cert_stats.issuer_certificate_id,
535 "RTCCertificate_" + cert_info.fingerprints[i + 1]); 535 "RTCCertificate_" + cert_info.fingerprints[i + 1]);
536 } else { 536 } else {
537 EXPECT_FALSE(cert_stats.issuer_certificate_id.is_defined()); 537 EXPECT_FALSE(cert_stats.issuer_certificate_id.is_defined());
538 } 538 }
539 } 539 }
540 } 540 }
541 541
542 void ExpectReportContainsDataChannel(
543 const rtc::scoped_refptr<const RTCStatsReport>& report,
544 const DataChannel& data_channel) {
545 const RTCStats* stats = report->Get("RTCDataChannel_" +
546 rtc::ToString<>(data_channel.id()));
547 EXPECT_TRUE(stats);
548 const RTCDataChannelStats& data_channel_stats =
549 stats->cast_to<const RTCDataChannelStats>();
550 EXPECT_EQ(*data_channel_stats.label, data_channel.label());
551 EXPECT_EQ(*data_channel_stats.protocol, data_channel.protocol());
552 EXPECT_EQ(*data_channel_stats.datachannelid, data_channel.id());
553 EXPECT_EQ(*data_channel_stats.state,
554 DataStateToRTCDataChannelStateForTesting(data_channel.state()));
555 EXPECT_EQ(*data_channel_stats.messages_sent, data_channel.messages_sent());
556 EXPECT_EQ(*data_channel_stats.bytes_sent, data_channel.bytes_sent());
557 EXPECT_EQ(*data_channel_stats.messages_received,
558 data_channel.messages_received());
559 EXPECT_EQ(*data_channel_stats.bytes_received,
560 data_channel.bytes_received());
561 }
562
563 protected: 542 protected:
564 rtc::scoped_refptr<RTCStatsCollectorTestHelper> test_; 543 rtc::scoped_refptr<RTCStatsCollectorTestHelper> test_;
565 rtc::scoped_refptr<RTCStatsCollector> collector_; 544 rtc::scoped_refptr<RTCStatsCollector> collector_;
566 }; 545 };
567 546
568 TEST_F(RTCStatsCollectorTest, SingleCallback) { 547 TEST_F(RTCStatsCollectorTest, SingleCallback) {
569 rtc::scoped_refptr<const RTCStatsReport> result; 548 rtc::scoped_refptr<const RTCStatsReport> result;
570 collector_->GetStatsReport(RTCStatsObtainer::Create(&result)); 549 collector_->GetStatsReport(RTCStatsObtainer::Create(&result));
571 EXPECT_TRUE_WAIT(result, kGetStatsReportTimeoutMs); 550 EXPECT_TRUE_WAIT(result, kGetStatsReportTimeoutMs);
572 } 551 }
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
877 return static_cast<rtc::SSLCertificate*>(nullptr); 856 return static_cast<rtc::SSLCertificate*>(nullptr);
878 })); 857 }));
879 858
880 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 859 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
881 ExpectReportContainsCertificateInfo(report, *local_certinfo.get()); 860 ExpectReportContainsCertificateInfo(report, *local_certinfo.get());
882 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get()); 861 ExpectReportContainsCertificateInfo(report, *remote_certinfo.get());
883 } 862 }
884 863
885 TEST_F(RTCStatsCollectorTest, CollectRTCDataChannelStats) { 864 TEST_F(RTCStatsCollectorTest, CollectRTCDataChannelStats) {
886 test_->data_channels().push_back( 865 test_->data_channels().push_back(
887 new MockDataChannel(0, DataChannelInterface::kConnecting)); 866 new MockDataChannel(
867 0, "MockDataChannel0", DataChannelInterface::kConnecting, "udp",
868 1, 2, 3, 4));
888 test_->data_channels().push_back( 869 test_->data_channels().push_back(
889 new MockDataChannel(1, DataChannelInterface::kOpen)); 870 new MockDataChannel(
871 1, "MockDataChannel1", DataChannelInterface::kOpen, "tcp",
872 5, 6, 7, 8));
890 test_->data_channels().push_back( 873 test_->data_channels().push_back(
891 new MockDataChannel(2, DataChannelInterface::kClosing)); 874 new MockDataChannel(
875 2, "MockDataChannel2", DataChannelInterface::kClosing, "udp",
876 9, 10, 11, 12));
892 test_->data_channels().push_back( 877 test_->data_channels().push_back(
893 new MockDataChannel(3, DataChannelInterface::kClosed)); 878 new MockDataChannel(
879 3, "MockDataChannel3", DataChannelInterface::kClosed, "tcp",
880 13, 14, 15, 16));
894 881
895 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 882 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
896 ExpectReportContainsDataChannel(report, *test_->data_channels()[0]);
897 ExpectReportContainsDataChannel(report, *test_->data_channels()[1]);
898 ExpectReportContainsDataChannel(report, *test_->data_channels()[2]);
899 ExpectReportContainsDataChannel(report, *test_->data_channels()[3]);
900 883
901 test_->data_channels().clear(); 884 RTCDataChannelStats expected_data_channel0(
902 test_->data_channels().push_back( 885 "RTCDataChannel_0", report->timestamp_us());
903 new MockDataChannel(0, DataChannelInterface::kConnecting, 886 expected_data_channel0.label = "MockDataChannel0";
904 1, 2, 3, 4)); 887 expected_data_channel0.protocol = "udp";
905 test_->data_channels().push_back( 888 expected_data_channel0.datachannelid = 0;
906 new MockDataChannel(1, DataChannelInterface::kOpen, 889 expected_data_channel0.state = "connecting";
907 5, 6, 7, 8)); 890 expected_data_channel0.messages_sent = 1;
908 test_->data_channels().push_back( 891 expected_data_channel0.bytes_sent = 2;
909 new MockDataChannel(2, DataChannelInterface::kClosing, 892 expected_data_channel0.messages_received = 3;
910 9, 10, 11, 12)); 893 expected_data_channel0.bytes_received = 4;
911 test_->data_channels().push_back( 894 ASSERT_TRUE(report->Get(expected_data_channel0.id()));
912 new MockDataChannel(3, DataChannelInterface::kClosed, 895 EXPECT_EQ(expected_data_channel0,
913 13, 14, 15, 16)); 896 report->Get(expected_data_channel0.id())->cast_to<
897 RTCDataChannelStats>());
914 898
915 collector_->ClearCachedStatsReport(); 899 RTCDataChannelStats expected_data_channel1(
916 report = GetStatsReport(); 900 "RTCDataChannel_1", report->timestamp_us());
917 ExpectReportContainsDataChannel(report, *test_->data_channels()[0]); 901 expected_data_channel1.label = "MockDataChannel1";
918 ExpectReportContainsDataChannel(report, *test_->data_channels()[1]); 902 expected_data_channel1.protocol = "tcp";
919 ExpectReportContainsDataChannel(report, *test_->data_channels()[2]); 903 expected_data_channel1.datachannelid = 1;
920 ExpectReportContainsDataChannel(report, *test_->data_channels()[3]); 904 expected_data_channel1.state = "open";
905 expected_data_channel1.messages_sent = 5;
906 expected_data_channel1.bytes_sent = 6;
907 expected_data_channel1.messages_received = 7;
908 expected_data_channel1.bytes_received = 8;
909 ASSERT_TRUE(report->Get(expected_data_channel1.id()));
910 EXPECT_EQ(expected_data_channel1,
911 report->Get(expected_data_channel1.id())->cast_to<
912 RTCDataChannelStats>());
913
914 RTCDataChannelStats expected_data_channel2(
915 "RTCDataChannel_2", report->timestamp_us());
916 expected_data_channel2.label = "MockDataChannel2";
917 expected_data_channel2.protocol = "udp";
918 expected_data_channel2.datachannelid = 2;
919 expected_data_channel2.state = "closing";
920 expected_data_channel2.messages_sent = 9;
921 expected_data_channel2.bytes_sent = 10;
922 expected_data_channel2.messages_received = 11;
923 expected_data_channel2.bytes_received = 12;
924 ASSERT_TRUE(report->Get(expected_data_channel2.id()));
925 EXPECT_EQ(expected_data_channel2,
926 report->Get(expected_data_channel2.id())->cast_to<
927 RTCDataChannelStats>());
928
929 RTCDataChannelStats expected_data_channel3(
930 "RTCDataChannel_3", report->timestamp_us());
931 expected_data_channel3.label = "MockDataChannel3";
932 expected_data_channel3.protocol = "tcp";
933 expected_data_channel3.datachannelid = 3 ;
hbos 2016/12/20 17:32:10 nit: 3;
934 expected_data_channel3.state = "closed";
935 expected_data_channel3.messages_sent = 13;
936 expected_data_channel3.bytes_sent = 14;
937 expected_data_channel3.messages_received = 15;
938 expected_data_channel3.bytes_received = 16;
939 ASSERT_TRUE(report->Get(expected_data_channel3.id()));
940 EXPECT_EQ(expected_data_channel3,
941 report->Get(expected_data_channel3.id())->cast_to<
942 RTCDataChannelStats>());
921 } 943 }
922 944
923 TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) { 945 TEST_F(RTCStatsCollectorTest, CollectRTCIceCandidateStats) {
924 // Candidates in the first transport stats. 946 // Candidates in the first transport stats.
925 std::unique_ptr<cricket::Candidate> a_local_host = CreateFakeCandidate( 947 std::unique_ptr<cricket::Candidate> a_local_host = CreateFakeCandidate(
926 "1.2.3.4", 5, 948 "1.2.3.4", 5,
927 "a_local_host's protocol", 949 "a_local_host's protocol",
928 cricket::LOCAL_PORT_TYPE, 950 cricket::LOCAL_PORT_TYPE,
929 0); 951 0);
930 std::unique_ptr<cricket::Candidate> a_remote_srflx = CreateFakeCandidate( 952 std::unique_ptr<cricket::Candidate> a_remote_srflx = CreateFakeCandidate(
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1046 expected_pair.writable = true; 1068 expected_pair.writable = true;
1047 expected_pair.bytes_sent = 42; 1069 expected_pair.bytes_sent = 42;
1048 expected_pair.bytes_received = 1234; 1070 expected_pair.bytes_received = 1234;
1049 expected_pair.current_round_trip_time = 1.337; 1071 expected_pair.current_round_trip_time = 1.337;
1050 expected_pair.requests_received = 2020; 1072 expected_pair.requests_received = 2020;
1051 expected_pair.requests_sent = 2000; 1073 expected_pair.requests_sent = 2000;
1052 expected_pair.responses_received = 4321; 1074 expected_pair.responses_received = 4321;
1053 expected_pair.responses_sent = 1000; 1075 expected_pair.responses_sent = 1000;
1054 expected_pair.consent_requests_sent = (2020 - 2000); 1076 expected_pair.consent_requests_sent = (2020 - 2000);
1055 1077
1056 EXPECT_TRUE(report->Get(expected_pair.id())); 1078 ASSERT_TRUE(report->Get(expected_pair.id()));
1057 EXPECT_EQ( 1079 EXPECT_EQ(
1058 expected_pair, 1080 expected_pair,
1059 report->Get(expected_pair.id())->cast_to<RTCIceCandidatePairStats>()); 1081 report->Get(expected_pair.id())->cast_to<RTCIceCandidatePairStats>());
1060 1082
1061 EXPECT_TRUE(report->Get(*expected_pair.local_candidate_id)); 1083 ASSERT_TRUE(report->Get(*expected_pair.local_candidate_id));
1062 ExpectReportContainsCandidate(report, connection_info.local_candidate, true); 1084 ExpectReportContainsCandidate(report, connection_info.local_candidate, true);
1063 EXPECT_TRUE(report->Get(*expected_pair.remote_candidate_id)); 1085 ASSERT_TRUE(report->Get(*expected_pair.remote_candidate_id));
1064 ExpectReportContainsCandidate(report, connection_info.remote_candidate, 1086 ExpectReportContainsCandidate(report, connection_info.remote_candidate,
1065 false); 1087 false);
1066 } 1088 }
1067 1089
1068 TEST_F(RTCStatsCollectorTest, CollectRTCPeerConnectionStats) { 1090 TEST_F(RTCStatsCollectorTest, CollectRTCPeerConnectionStats) {
1069 { 1091 {
1070 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1092 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1071 RTCPeerConnectionStats expected("RTCPeerConnection", 1093 RTCPeerConnectionStats expected("RTCPeerConnection",
1072 report->timestamp_us()); 1094 report->timestamp_us());
1073 expected.data_channels_opened = 0; 1095 expected.data_channels_opened = 0;
1074 expected.data_channels_closed = 0; 1096 expected.data_channels_closed = 0;
1075 EXPECT_TRUE(report->Get("RTCPeerConnection")); 1097 ASSERT_TRUE(report->Get("RTCPeerConnection"));
1076 EXPECT_EQ(expected, 1098 EXPECT_EQ(expected,
1077 report->Get("RTCPeerConnection")->cast_to< 1099 report->Get("RTCPeerConnection")->cast_to<
1078 RTCPeerConnectionStats>()); 1100 RTCPeerConnectionStats>());
1079 } 1101 }
1080 1102
1081 rtc::scoped_refptr<DataChannel> dummy_channel_a = DataChannel::Create( 1103 rtc::scoped_refptr<DataChannel> dummy_channel_a = DataChannel::Create(
1082 nullptr, cricket::DCT_NONE, "DummyChannelA", InternalDataChannelInit()); 1104 nullptr, cricket::DCT_NONE, "DummyChannelA", InternalDataChannelInit());
1083 test_->pc().SignalDataChannelCreated(dummy_channel_a.get()); 1105 test_->pc().SignalDataChannelCreated(dummy_channel_a.get());
1084 rtc::scoped_refptr<DataChannel> dummy_channel_b = DataChannel::Create( 1106 rtc::scoped_refptr<DataChannel> dummy_channel_b = DataChannel::Create(
1085 nullptr, cricket::DCT_NONE, "DummyChannelB", InternalDataChannelInit()); 1107 nullptr, cricket::DCT_NONE, "DummyChannelB", InternalDataChannelInit());
1086 test_->pc().SignalDataChannelCreated(dummy_channel_b.get()); 1108 test_->pc().SignalDataChannelCreated(dummy_channel_b.get());
1087 1109
1088 dummy_channel_a->SignalOpened(dummy_channel_a.get()); 1110 dummy_channel_a->SignalOpened(dummy_channel_a.get());
1089 // Closing a channel that is not opened should not affect the counts. 1111 // Closing a channel that is not opened should not affect the counts.
1090 dummy_channel_b->SignalClosed(dummy_channel_b.get()); 1112 dummy_channel_b->SignalClosed(dummy_channel_b.get());
1091 1113
1092 { 1114 {
1093 collector_->ClearCachedStatsReport(); 1115 collector_->ClearCachedStatsReport();
1094 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1116 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1095 RTCPeerConnectionStats expected("RTCPeerConnection", 1117 RTCPeerConnectionStats expected("RTCPeerConnection",
1096 report->timestamp_us()); 1118 report->timestamp_us());
1097 expected.data_channels_opened = 1; 1119 expected.data_channels_opened = 1;
1098 expected.data_channels_closed = 0; 1120 expected.data_channels_closed = 0;
1099 EXPECT_TRUE(report->Get("RTCPeerConnection")); 1121 ASSERT_TRUE(report->Get("RTCPeerConnection"));
1100 EXPECT_EQ(expected, 1122 EXPECT_EQ(expected,
1101 report->Get("RTCPeerConnection")->cast_to< 1123 report->Get("RTCPeerConnection")->cast_to<
1102 RTCPeerConnectionStats>()); 1124 RTCPeerConnectionStats>());
1103 } 1125 }
1104 1126
1105 dummy_channel_b->SignalOpened(dummy_channel_b.get()); 1127 dummy_channel_b->SignalOpened(dummy_channel_b.get());
1106 dummy_channel_b->SignalClosed(dummy_channel_b.get()); 1128 dummy_channel_b->SignalClosed(dummy_channel_b.get());
1107 1129
1108 { 1130 {
1109 collector_->ClearCachedStatsReport(); 1131 collector_->ClearCachedStatsReport();
1110 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1132 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1111 RTCPeerConnectionStats expected("RTCPeerConnection", 1133 RTCPeerConnectionStats expected("RTCPeerConnection",
1112 report->timestamp_us()); 1134 report->timestamp_us());
1113 expected.data_channels_opened = 2; 1135 expected.data_channels_opened = 2;
1114 expected.data_channels_closed = 1; 1136 expected.data_channels_closed = 1;
1115 EXPECT_TRUE(report->Get("RTCPeerConnection")); 1137 ASSERT_TRUE(report->Get("RTCPeerConnection"));
1116 EXPECT_EQ(expected, 1138 EXPECT_EQ(expected,
1117 report->Get("RTCPeerConnection")->cast_to< 1139 report->Get("RTCPeerConnection")->cast_to<
1118 RTCPeerConnectionStats>()); 1140 RTCPeerConnectionStats>());
1119 } 1141 }
1120 } 1142 }
1121 1143
1122 TEST_F(RTCStatsCollectorTest, 1144 TEST_F(RTCStatsCollectorTest,
1123 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Audio) { 1145 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Audio) {
1124 rtc::scoped_refptr<StreamCollection> local_streams = 1146 rtc::scoped_refptr<StreamCollection> local_streams =
1125 StreamCollection::Create(); 1147 StreamCollection::Create();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1162 remote_stream->AddTrack(remote_audio_track); 1184 remote_stream->AddTrack(remote_audio_track);
1163 1185
1164 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1186 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1165 1187
1166 RTCMediaStreamStats expected_local_stream( 1188 RTCMediaStreamStats expected_local_stream(
1167 "RTCMediaStream_LocalStreamLabel", report->timestamp_us()); 1189 "RTCMediaStream_LocalStreamLabel", report->timestamp_us());
1168 expected_local_stream.stream_identifier = local_stream->label(); 1190 expected_local_stream.stream_identifier = local_stream->label();
1169 expected_local_stream.track_ids = std::vector<std::string>(); 1191 expected_local_stream.track_ids = std::vector<std::string>();
1170 expected_local_stream.track_ids->push_back( 1192 expected_local_stream.track_ids->push_back(
1171 "RTCMediaStreamTrack_LocalAudioTrackID"); 1193 "RTCMediaStreamTrack_LocalAudioTrackID");
1172 EXPECT_TRUE(report->Get(expected_local_stream.id())); 1194 ASSERT_TRUE(report->Get(expected_local_stream.id()));
1173 EXPECT_EQ(expected_local_stream, 1195 EXPECT_EQ(expected_local_stream,
1174 report->Get(expected_local_stream.id())->cast_to< 1196 report->Get(expected_local_stream.id())->cast_to<
1175 RTCMediaStreamStats>()); 1197 RTCMediaStreamStats>());
1176 1198
1177 RTCMediaStreamStats expected_remote_stream( 1199 RTCMediaStreamStats expected_remote_stream(
1178 "RTCMediaStream_RemoteStreamLabel", report->timestamp_us()); 1200 "RTCMediaStream_RemoteStreamLabel", report->timestamp_us());
1179 expected_remote_stream.stream_identifier = remote_stream->label(); 1201 expected_remote_stream.stream_identifier = remote_stream->label();
1180 expected_remote_stream.track_ids = std::vector<std::string>(); 1202 expected_remote_stream.track_ids = std::vector<std::string>();
1181 expected_remote_stream.track_ids->push_back( 1203 expected_remote_stream.track_ids->push_back(
1182 "RTCMediaStreamTrack_RemoteAudioTrackID"); 1204 "RTCMediaStreamTrack_RemoteAudioTrackID");
1183 EXPECT_TRUE(report->Get(expected_remote_stream.id())); 1205 ASSERT_TRUE(report->Get(expected_remote_stream.id()));
1184 EXPECT_EQ(expected_remote_stream, 1206 EXPECT_EQ(expected_remote_stream,
1185 report->Get(expected_remote_stream.id())->cast_to< 1207 report->Get(expected_remote_stream.id())->cast_to<
1186 RTCMediaStreamStats>()); 1208 RTCMediaStreamStats>());
1187 1209
1188 RTCMediaStreamTrackStats expected_local_audio_track( 1210 RTCMediaStreamTrackStats expected_local_audio_track(
1189 "RTCMediaStreamTrack_LocalAudioTrackID", report->timestamp_us()); 1211 "RTCMediaStreamTrack_LocalAudioTrackID", report->timestamp_us());
1190 expected_local_audio_track.track_identifier = local_audio_track->id(); 1212 expected_local_audio_track.track_identifier = local_audio_track->id();
1191 expected_local_audio_track.remote_source = false; 1213 expected_local_audio_track.remote_source = false;
1192 expected_local_audio_track.ended = true; 1214 expected_local_audio_track.ended = true;
1193 expected_local_audio_track.detached = false; 1215 expected_local_audio_track.detached = false;
1194 expected_local_audio_track.audio_level = 1.0; 1216 expected_local_audio_track.audio_level = 1.0;
1195 expected_local_audio_track.echo_return_loss = 42.0; 1217 expected_local_audio_track.echo_return_loss = 42.0;
1196 expected_local_audio_track.echo_return_loss_enhancement = 52.0; 1218 expected_local_audio_track.echo_return_loss_enhancement = 52.0;
1197 EXPECT_TRUE(report->Get(expected_local_audio_track.id())); 1219 ASSERT_TRUE(report->Get(expected_local_audio_track.id()));
1198 EXPECT_EQ(expected_local_audio_track, 1220 EXPECT_EQ(expected_local_audio_track,
1199 report->Get(expected_local_audio_track.id())->cast_to< 1221 report->Get(expected_local_audio_track.id())->cast_to<
1200 RTCMediaStreamTrackStats>()); 1222 RTCMediaStreamTrackStats>());
1201 1223
1202 RTCMediaStreamTrackStats expected_remote_audio_track( 1224 RTCMediaStreamTrackStats expected_remote_audio_track(
1203 "RTCMediaStreamTrack_RemoteAudioTrackID", report->timestamp_us()); 1225 "RTCMediaStreamTrack_RemoteAudioTrackID", report->timestamp_us());
1204 expected_remote_audio_track.track_identifier = remote_audio_track->id(); 1226 expected_remote_audio_track.track_identifier = remote_audio_track->id();
1205 expected_remote_audio_track.remote_source = true; 1227 expected_remote_audio_track.remote_source = true;
1206 expected_remote_audio_track.ended = false; 1228 expected_remote_audio_track.ended = false;
1207 expected_remote_audio_track.detached = false; 1229 expected_remote_audio_track.detached = false;
1208 expected_remote_audio_track.audio_level = 0.0; 1230 expected_remote_audio_track.audio_level = 0.0;
1209 expected_remote_audio_track.echo_return_loss = 13.0; 1231 expected_remote_audio_track.echo_return_loss = 13.0;
1210 expected_remote_audio_track.echo_return_loss_enhancement = 37.0; 1232 expected_remote_audio_track.echo_return_loss_enhancement = 37.0;
1211 EXPECT_TRUE(report->Get(expected_remote_audio_track.id())); 1233 ASSERT_TRUE(report->Get(expected_remote_audio_track.id()));
1212 EXPECT_EQ(expected_remote_audio_track, 1234 EXPECT_EQ(expected_remote_audio_track,
1213 report->Get(expected_remote_audio_track.id())->cast_to< 1235 report->Get(expected_remote_audio_track.id())->cast_to<
1214 RTCMediaStreamTrackStats>()); 1236 RTCMediaStreamTrackStats>());
1215 } 1237 }
1216 1238
1217 TEST_F(RTCStatsCollectorTest, 1239 TEST_F(RTCStatsCollectorTest,
1218 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Audio_Defaults) { 1240 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Audio_Defaults) {
1219 rtc::scoped_refptr<StreamCollection> local_streams = 1241 rtc::scoped_refptr<StreamCollection> local_streams =
1220 StreamCollection::Create(); 1242 StreamCollection::Create();
1221 EXPECT_CALL(test_->pc(), local_streams()) 1243 EXPECT_CALL(test_->pc(), local_streams())
(...skipping 19 matching lines...) Expand all
1241 1263
1242 RTCMediaStreamTrackStats expected_local_audio_track( 1264 RTCMediaStreamTrackStats expected_local_audio_track(
1243 "RTCMediaStreamTrack_LocalAudioTrackID", report->timestamp_us()); 1265 "RTCMediaStreamTrack_LocalAudioTrackID", report->timestamp_us());
1244 expected_local_audio_track.track_identifier = local_audio_track->id(); 1266 expected_local_audio_track.track_identifier = local_audio_track->id();
1245 expected_local_audio_track.remote_source = false; 1267 expected_local_audio_track.remote_source = false;
1246 expected_local_audio_track.ended = true; 1268 expected_local_audio_track.ended = true;
1247 expected_local_audio_track.detached = false; 1269 expected_local_audio_track.detached = false;
1248 expected_local_audio_track.audio_level = 1.0; 1270 expected_local_audio_track.audio_level = 1.0;
1249 // Should be undefined: |expected_local_audio_track.echo_return_loss| and 1271 // Should be undefined: |expected_local_audio_track.echo_return_loss| and
1250 // |expected_local_audio_track.echo_return_loss_enhancement|. 1272 // |expected_local_audio_track.echo_return_loss_enhancement|.
1251 EXPECT_TRUE(report->Get(expected_local_audio_track.id())); 1273 ASSERT_TRUE(report->Get(expected_local_audio_track.id()));
1252 EXPECT_EQ(expected_local_audio_track, 1274 EXPECT_EQ(expected_local_audio_track,
1253 report->Get(expected_local_audio_track.id())->cast_to< 1275 report->Get(expected_local_audio_track.id())->cast_to<
1254 RTCMediaStreamTrackStats>()); 1276 RTCMediaStreamTrackStats>());
1255 } 1277 }
1256 1278
1257 TEST_F(RTCStatsCollectorTest, 1279 TEST_F(RTCStatsCollectorTest,
1258 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Video) { 1280 CollectRTCMediaStreamStatsAndRTCMediaStreamTrackStats_Video) {
1259 rtc::scoped_refptr<StreamCollection> local_streams = 1281 rtc::scoped_refptr<StreamCollection> local_streams =
1260 StreamCollection::Create(); 1282 StreamCollection::Create();
1261 rtc::scoped_refptr<StreamCollection> remote_streams = 1283 rtc::scoped_refptr<StreamCollection> remote_streams =
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 remote_stream->AddTrack(remote_video_track); 1321 remote_stream->AddTrack(remote_video_track);
1300 1322
1301 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1323 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1302 1324
1303 RTCMediaStreamStats expected_local_stream( 1325 RTCMediaStreamStats expected_local_stream(
1304 "RTCMediaStream_LocalStreamLabel", report->timestamp_us()); 1326 "RTCMediaStream_LocalStreamLabel", report->timestamp_us());
1305 expected_local_stream.stream_identifier = local_stream->label(); 1327 expected_local_stream.stream_identifier = local_stream->label();
1306 expected_local_stream.track_ids = std::vector<std::string>(); 1328 expected_local_stream.track_ids = std::vector<std::string>();
1307 expected_local_stream.track_ids->push_back( 1329 expected_local_stream.track_ids->push_back(
1308 "RTCMediaStreamTrack_LocalVideoTrackID"); 1330 "RTCMediaStreamTrack_LocalVideoTrackID");
1309 EXPECT_TRUE(report->Get(expected_local_stream.id())); 1331 ASSERT_TRUE(report->Get(expected_local_stream.id()));
1310 EXPECT_EQ(expected_local_stream, 1332 EXPECT_EQ(expected_local_stream,
1311 report->Get(expected_local_stream.id())->cast_to< 1333 report->Get(expected_local_stream.id())->cast_to<
1312 RTCMediaStreamStats>()); 1334 RTCMediaStreamStats>());
1313 1335
1314 RTCMediaStreamStats expected_remote_stream( 1336 RTCMediaStreamStats expected_remote_stream(
1315 "RTCMediaStream_RemoteStreamLabel", report->timestamp_us()); 1337 "RTCMediaStream_RemoteStreamLabel", report->timestamp_us());
1316 expected_remote_stream.stream_identifier = remote_stream->label(); 1338 expected_remote_stream.stream_identifier = remote_stream->label();
1317 expected_remote_stream.track_ids = std::vector<std::string>(); 1339 expected_remote_stream.track_ids = std::vector<std::string>();
1318 expected_remote_stream.track_ids->push_back( 1340 expected_remote_stream.track_ids->push_back(
1319 "RTCMediaStreamTrack_RemoteVideoTrackID"); 1341 "RTCMediaStreamTrack_RemoteVideoTrackID");
1320 EXPECT_TRUE(report->Get(expected_remote_stream.id())); 1342 ASSERT_TRUE(report->Get(expected_remote_stream.id()));
1321 EXPECT_EQ(expected_remote_stream, 1343 EXPECT_EQ(expected_remote_stream,
1322 report->Get(expected_remote_stream.id())->cast_to< 1344 report->Get(expected_remote_stream.id())->cast_to<
1323 RTCMediaStreamStats>()); 1345 RTCMediaStreamStats>());
1324 1346
1325 RTCMediaStreamTrackStats expected_local_video_track( 1347 RTCMediaStreamTrackStats expected_local_video_track(
1326 "RTCMediaStreamTrack_LocalVideoTrackID", report->timestamp_us()); 1348 "RTCMediaStreamTrack_LocalVideoTrackID", report->timestamp_us());
1327 expected_local_video_track.track_identifier = local_video_track->id(); 1349 expected_local_video_track.track_identifier = local_video_track->id();
1328 expected_local_video_track.remote_source = false; 1350 expected_local_video_track.remote_source = false;
1329 expected_local_video_track.ended = false; 1351 expected_local_video_track.ended = false;
1330 expected_local_video_track.detached = false; 1352 expected_local_video_track.detached = false;
1331 expected_local_video_track.frame_width = 1234; 1353 expected_local_video_track.frame_width = 1234;
1332 expected_local_video_track.frame_height = 4321; 1354 expected_local_video_track.frame_height = 4321;
1333 EXPECT_TRUE(report->Get(expected_local_video_track.id())); 1355 ASSERT_TRUE(report->Get(expected_local_video_track.id()));
1334 EXPECT_EQ(expected_local_video_track, 1356 EXPECT_EQ(expected_local_video_track,
1335 report->Get(expected_local_video_track.id())->cast_to< 1357 report->Get(expected_local_video_track.id())->cast_to<
1336 RTCMediaStreamTrackStats>()); 1358 RTCMediaStreamTrackStats>());
1337 1359
1338 RTCMediaStreamTrackStats expected_remote_video_track( 1360 RTCMediaStreamTrackStats expected_remote_video_track(
1339 "RTCMediaStreamTrack_RemoteVideoTrackID", report->timestamp_us()); 1361 "RTCMediaStreamTrack_RemoteVideoTrackID", report->timestamp_us());
1340 expected_remote_video_track.track_identifier = remote_video_track->id(); 1362 expected_remote_video_track.track_identifier = remote_video_track->id();
1341 expected_remote_video_track.remote_source = true; 1363 expected_remote_video_track.remote_source = true;
1342 expected_remote_video_track.ended = true; 1364 expected_remote_video_track.ended = true;
1343 expected_remote_video_track.detached = false; 1365 expected_remote_video_track.detached = false;
1344 expected_remote_video_track.frame_width = 1234; 1366 expected_remote_video_track.frame_width = 1234;
1345 expected_remote_video_track.frame_height = 4321; 1367 expected_remote_video_track.frame_height = 4321;
1346 EXPECT_TRUE(report->Get(expected_remote_video_track.id())); 1368 ASSERT_TRUE(report->Get(expected_remote_video_track.id()));
1347 EXPECT_EQ(expected_remote_video_track, 1369 EXPECT_EQ(expected_remote_video_track,
1348 report->Get(expected_remote_video_track.id())->cast_to< 1370 report->Get(expected_remote_video_track.id())->cast_to<
1349 RTCMediaStreamTrackStats>()); 1371 RTCMediaStreamTrackStats>());
1350 } 1372 }
1351 1373
1352 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) { 1374 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Audio) {
1353 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); 1375 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel();
1354 cricket::VoiceChannel voice_channel( 1376 cricket::VoiceChannel voice_channel(
1355 test_->worker_thread(), test_->network_thread(), test_->media_engine(), 1377 test_->worker_thread(), test_->network_thread(), test_->media_engine(),
1356 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, 1378 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled,
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 expected_audio.bytes_received = 3; 1433 expected_audio.bytes_received = 3;
1412 expected_audio.packets_lost = 42; 1434 expected_audio.packets_lost = 42;
1413 expected_audio.jitter = 4.5; 1435 expected_audio.jitter = 4.5;
1414 expected_audio.fraction_lost = 5.5; 1436 expected_audio.fraction_lost = 5.5;
1415 1437
1416 ASSERT(report->Get(expected_audio.id())); 1438 ASSERT(report->Get(expected_audio.id()));
1417 const RTCInboundRTPStreamStats& audio = report->Get( 1439 const RTCInboundRTPStreamStats& audio = report->Get(
1418 expected_audio.id())->cast_to<RTCInboundRTPStreamStats>(); 1440 expected_audio.id())->cast_to<RTCInboundRTPStreamStats>();
1419 EXPECT_EQ(audio, expected_audio); 1441 EXPECT_EQ(audio, expected_audio);
1420 1442
1421 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); 1443 ASSERT_TRUE(report->Get(*expected_audio.transport_id));
1422 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); 1444 ASSERT_TRUE(report->Get(*expected_audio.codec_id));
1423 } 1445 }
1424 1446
1425 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) { 1447 TEST_F(RTCStatsCollectorTest, CollectRTCInboundRTPStreamStats_Video) {
1426 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); 1448 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel();
1427 cricket::VideoChannel video_channel( 1449 cricket::VideoChannel video_channel(
1428 test_->worker_thread(), test_->network_thread(), video_media_channel, 1450 test_->worker_thread(), test_->network_thread(), video_media_channel,
1429 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired); 1451 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired);
1430 1452
1431 cricket::VideoMediaInfo video_media_info; 1453 cricket::VideoMediaInfo video_media_info;
1432 1454
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 expected_video.packets_received = 2; 1509 expected_video.packets_received = 2;
1488 expected_video.bytes_received = 3; 1510 expected_video.bytes_received = 3;
1489 expected_video.packets_lost = 42; 1511 expected_video.packets_lost = 42;
1490 expected_video.fraction_lost = 4.5; 1512 expected_video.fraction_lost = 4.5;
1491 1513
1492 ASSERT(report->Get(expected_video.id())); 1514 ASSERT(report->Get(expected_video.id()));
1493 const RTCInboundRTPStreamStats& video = report->Get( 1515 const RTCInboundRTPStreamStats& video = report->Get(
1494 expected_video.id())->cast_to<RTCInboundRTPStreamStats>(); 1516 expected_video.id())->cast_to<RTCInboundRTPStreamStats>();
1495 EXPECT_EQ(video, expected_video); 1517 EXPECT_EQ(video, expected_video);
1496 1518
1497 EXPECT_TRUE(report->Get(*expected_video.transport_id)); 1519 ASSERT_TRUE(report->Get(*expected_video.transport_id));
1498 EXPECT_TRUE(report->Get(*video.codec_id)); 1520 ASSERT_TRUE(report->Get(*video.codec_id));
1499 } 1521 }
1500 1522
1501 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) { 1523 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Audio) {
1502 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); 1524 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel();
1503 cricket::VoiceChannel voice_channel( 1525 cricket::VoiceChannel voice_channel(
1504 test_->worker_thread(), test_->network_thread(), test_->media_engine(), 1526 test_->worker_thread(), test_->network_thread(), test_->media_engine(),
1505 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, 1527 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled,
1506 kDefaultSrtpRequired); 1528 kDefaultSrtpRequired);
1507 1529
1508 cricket::VoiceMediaInfo voice_media_info; 1530 cricket::VoiceMediaInfo voice_media_info;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1555 expected_audio.codec_id = "RTCCodec_OutboundAudio_42"; 1577 expected_audio.codec_id = "RTCCodec_OutboundAudio_42";
1556 expected_audio.packets_sent = 2; 1578 expected_audio.packets_sent = 2;
1557 expected_audio.bytes_sent = 3; 1579 expected_audio.bytes_sent = 3;
1558 expected_audio.round_trip_time = 4.5; 1580 expected_audio.round_trip_time = 4.5;
1559 1581
1560 ASSERT(report->Get(expected_audio.id())); 1582 ASSERT(report->Get(expected_audio.id()));
1561 const RTCOutboundRTPStreamStats& audio = report->Get( 1583 const RTCOutboundRTPStreamStats& audio = report->Get(
1562 expected_audio.id())->cast_to<RTCOutboundRTPStreamStats>(); 1584 expected_audio.id())->cast_to<RTCOutboundRTPStreamStats>();
1563 EXPECT_EQ(audio, expected_audio); 1585 EXPECT_EQ(audio, expected_audio);
1564 1586
1565 EXPECT_TRUE(report->Get(*expected_audio.transport_id)); 1587 ASSERT_TRUE(report->Get(*expected_audio.transport_id));
1566 EXPECT_TRUE(report->Get(*expected_audio.codec_id)); 1588 ASSERT_TRUE(report->Get(*expected_audio.codec_id));
1567 } 1589 }
1568 1590
1569 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) { 1591 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Video) {
1570 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); 1592 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel();
1571 cricket::VideoChannel video_channel( 1593 cricket::VideoChannel video_channel(
1572 test_->worker_thread(), test_->network_thread(), video_media_channel, 1594 test_->worker_thread(), test_->network_thread(), video_media_channel,
1573 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired); 1595 nullptr, "VideoContentName", kDefaultRtcpEnabled, kDefaultSrtpRequired);
1574 1596
1575 cricket::VideoMediaInfo video_media_info; 1597 cricket::VideoMediaInfo video_media_info;
1576 1598
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1628 expected_video.nack_count = 4; 1650 expected_video.nack_count = 4;
1629 expected_video.packets_sent = 5; 1651 expected_video.packets_sent = 5;
1630 expected_video.bytes_sent = 6; 1652 expected_video.bytes_sent = 6;
1631 expected_video.round_trip_time = 7.5; 1653 expected_video.round_trip_time = 7.5;
1632 1654
1633 ASSERT(report->Get(expected_video.id())); 1655 ASSERT(report->Get(expected_video.id()));
1634 const RTCOutboundRTPStreamStats& video = report->Get( 1656 const RTCOutboundRTPStreamStats& video = report->Get(
1635 expected_video.id())->cast_to<RTCOutboundRTPStreamStats>(); 1657 expected_video.id())->cast_to<RTCOutboundRTPStreamStats>();
1636 EXPECT_EQ(video, expected_video); 1658 EXPECT_EQ(video, expected_video);
1637 1659
1638 EXPECT_TRUE(report->Get(*expected_video.transport_id)); 1660 ASSERT_TRUE(report->Get(*expected_video.transport_id));
1639 EXPECT_TRUE(report->Get(*expected_video.codec_id)); 1661 ASSERT_TRUE(report->Get(*expected_video.codec_id));
1640 } 1662 }
1641 1663
1642 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) { 1664 TEST_F(RTCStatsCollectorTest, CollectRTCOutboundRTPStreamStats_Default) {
1643 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel(); 1665 MockVoiceMediaChannel* voice_media_channel = new MockVoiceMediaChannel();
1644 cricket::VoiceChannel voice_channel( 1666 cricket::VoiceChannel voice_channel(
1645 test_->worker_thread(), test_->network_thread(), test_->media_engine(), 1667 test_->worker_thread(), test_->network_thread(), test_->media_engine(),
1646 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled, 1668 voice_media_channel, nullptr, "VoiceContentName", kDefaultRtcpEnabled,
1647 kDefaultSrtpRequired); 1669 kDefaultSrtpRequired);
1648 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel(); 1670 MockVideoMediaChannel* video_media_channel = new MockVideoMediaChannel();
1649 cricket::VideoChannel video_channel( 1671 cricket::VideoChannel video_channel(
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
1776 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport(); 1798 rtc::scoped_refptr<const RTCStatsReport> report = GetStatsReport();
1777 1799
1778 RTCTransportStats expected_rtp_transport( 1800 RTCTransportStats expected_rtp_transport(
1779 "RTCTransport_transport_" + 1801 "RTCTransport_transport_" +
1780 rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTP), 1802 rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTP),
1781 report->timestamp_us()); 1803 report->timestamp_us());
1782 expected_rtp_transport.bytes_sent = 42; 1804 expected_rtp_transport.bytes_sent = 42;
1783 expected_rtp_transport.bytes_received = 1337; 1805 expected_rtp_transport.bytes_received = 1337;
1784 expected_rtp_transport.active_connection = false; 1806 expected_rtp_transport.active_connection = false;
1785 1807
1786 EXPECT_TRUE(report->Get(expected_rtp_transport.id())); 1808 ASSERT_TRUE(report->Get(expected_rtp_transport.id()));
1787 EXPECT_EQ( 1809 EXPECT_EQ(
1788 expected_rtp_transport, 1810 expected_rtp_transport,
1789 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>()); 1811 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>());
1790 1812
1791 cricket::ConnectionInfo rtcp_connection_info; 1813 cricket::ConnectionInfo rtcp_connection_info;
1792 rtcp_connection_info.best_connection = false; 1814 rtcp_connection_info.best_connection = false;
1793 rtcp_connection_info.local_candidate = *rtcp_local_candidate.get(); 1815 rtcp_connection_info.local_candidate = *rtcp_local_candidate.get();
1794 rtcp_connection_info.remote_candidate = *rtcp_remote_candidate.get(); 1816 rtcp_connection_info.remote_candidate = *rtcp_remote_candidate.get();
1795 rtcp_connection_info.sent_total_bytes = 1337; 1817 rtcp_connection_info.sent_total_bytes = 1337;
1796 rtcp_connection_info.recv_total_bytes = 42; 1818 rtcp_connection_info.recv_total_bytes = 42;
(...skipping 11 matching lines...) Expand all
1808 RTCTransportStats expected_rtcp_transport( 1830 RTCTransportStats expected_rtcp_transport(
1809 "RTCTransport_transport_" + 1831 "RTCTransport_transport_" +
1810 rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTCP), 1832 rtc::ToString<>(cricket::ICE_CANDIDATE_COMPONENT_RTCP),
1811 report->timestamp_us()); 1833 report->timestamp_us());
1812 expected_rtcp_transport.bytes_sent = 1337; 1834 expected_rtcp_transport.bytes_sent = 1337;
1813 expected_rtcp_transport.bytes_received = 42; 1835 expected_rtcp_transport.bytes_received = 42;
1814 expected_rtcp_transport.active_connection = false; 1836 expected_rtcp_transport.active_connection = false;
1815 1837
1816 expected_rtp_transport.rtcp_transport_stats_id = expected_rtcp_transport.id(); 1838 expected_rtp_transport.rtcp_transport_stats_id = expected_rtcp_transport.id();
1817 1839
1818 EXPECT_TRUE(report->Get(expected_rtp_transport.id())); 1840 ASSERT_TRUE(report->Get(expected_rtp_transport.id()));
1819 EXPECT_EQ( 1841 EXPECT_EQ(
1820 expected_rtp_transport, 1842 expected_rtp_transport,
1821 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>()); 1843 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>());
1822 EXPECT_TRUE(report->Get(expected_rtcp_transport.id())); 1844 ASSERT_TRUE(report->Get(expected_rtcp_transport.id()));
1823 EXPECT_EQ( 1845 EXPECT_EQ(
1824 expected_rtcp_transport, 1846 expected_rtcp_transport,
1825 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>()); 1847 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>());
1826 1848
1827 // Get stats with an active connection. 1849 // Get stats with an active connection.
1828 session_stats.transport_stats["transport"] 1850 session_stats.transport_stats["transport"]
1829 .channel_stats[1] 1851 .channel_stats[1]
1830 .connection_infos[0] 1852 .connection_infos[0]
1831 .best_connection = true; 1853 .best_connection = true;
1832 1854
1833 collector_->ClearCachedStatsReport(); 1855 collector_->ClearCachedStatsReport();
1834 report = GetStatsReport(); 1856 report = GetStatsReport();
1835 1857
1836 expected_rtcp_transport.active_connection = true; 1858 expected_rtcp_transport.active_connection = true;
1837 expected_rtcp_transport.selected_candidate_pair_id = 1859 expected_rtcp_transport.selected_candidate_pair_id =
1838 "RTCIceCandidatePair_" + rtcp_local_candidate->id() + "_" + 1860 "RTCIceCandidatePair_" + rtcp_local_candidate->id() + "_" +
1839 rtcp_remote_candidate->id(); 1861 rtcp_remote_candidate->id();
1840 1862
1841 EXPECT_TRUE(report->Get(expected_rtp_transport.id())); 1863 ASSERT_TRUE(report->Get(expected_rtp_transport.id()));
1842 EXPECT_EQ( 1864 EXPECT_EQ(
1843 expected_rtp_transport, 1865 expected_rtp_transport,
1844 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>()); 1866 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>());
1845 EXPECT_TRUE(report->Get(expected_rtcp_transport.id())); 1867 ASSERT_TRUE(report->Get(expected_rtcp_transport.id()));
1846 EXPECT_EQ( 1868 EXPECT_EQ(
1847 expected_rtcp_transport, 1869 expected_rtcp_transport,
1848 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>()); 1870 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>());
1849 1871
1850 // Get stats with certificates. 1872 // Get stats with certificates.
1851 std::unique_ptr<CertificateInfo> local_certinfo = 1873 std::unique_ptr<CertificateInfo> local_certinfo =
1852 CreateFakeCertificateAndInfoFromDers( 1874 CreateFakeCertificateAndInfoFromDers(
1853 std::vector<std::string>({ "(local) local", "(local) chain" })); 1875 std::vector<std::string>({ "(local) local", "(local) chain" }));
1854 std::unique_ptr<CertificateInfo> remote_certinfo = 1876 std::unique_ptr<CertificateInfo> remote_certinfo =
1855 CreateFakeCertificateAndInfoFromDers( 1877 CreateFakeCertificateAndInfoFromDers(
(...skipping 21 matching lines...) Expand all
1877 expected_rtp_transport.local_certificate_id = 1899 expected_rtp_transport.local_certificate_id =
1878 "RTCCertificate_" + local_certinfo->fingerprints[0]; 1900 "RTCCertificate_" + local_certinfo->fingerprints[0];
1879 expected_rtp_transport.remote_certificate_id = 1901 expected_rtp_transport.remote_certificate_id =
1880 "RTCCertificate_" + remote_certinfo->fingerprints[0]; 1902 "RTCCertificate_" + remote_certinfo->fingerprints[0];
1881 1903
1882 expected_rtcp_transport.local_certificate_id = 1904 expected_rtcp_transport.local_certificate_id =
1883 *expected_rtp_transport.local_certificate_id; 1905 *expected_rtp_transport.local_certificate_id;
1884 expected_rtcp_transport.remote_certificate_id = 1906 expected_rtcp_transport.remote_certificate_id =
1885 *expected_rtp_transport.remote_certificate_id; 1907 *expected_rtp_transport.remote_certificate_id;
1886 1908
1887 EXPECT_TRUE(report->Get(expected_rtp_transport.id())); 1909 ASSERT_TRUE(report->Get(expected_rtp_transport.id()));
1888 EXPECT_EQ( 1910 EXPECT_EQ(
1889 expected_rtp_transport, 1911 expected_rtp_transport,
1890 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>()); 1912 report->Get(expected_rtp_transport.id())->cast_to<RTCTransportStats>());
1891 EXPECT_TRUE(report->Get(expected_rtcp_transport.id())); 1913 ASSERT_TRUE(report->Get(expected_rtcp_transport.id()));
1892 EXPECT_EQ( 1914 EXPECT_EQ(
1893 expected_rtcp_transport, 1915 expected_rtcp_transport,
1894 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>()); 1916 report->Get(expected_rtcp_transport.id())->cast_to<RTCTransportStats>());
1895 } 1917 }
1896 1918
1897 class RTCStatsCollectorTestWithFakeCollector : public testing::Test { 1919 class RTCStatsCollectorTestWithFakeCollector : public testing::Test {
1898 public: 1920 public:
1899 RTCStatsCollectorTestWithFakeCollector() 1921 RTCStatsCollectorTestWithFakeCollector()
1900 : test_(new rtc::RefCountedObject<RTCStatsCollectorTestHelper>()), 1922 : test_(new rtc::RefCountedObject<RTCStatsCollectorTestHelper>()),
1901 collector_(FakeRTCStatsCollector::Create( 1923 collector_(FakeRTCStatsCollector::Create(
1902 &test_->pc(), 50 * rtc::kNumMicrosecsPerMillisec)) { 1924 &test_->pc(), 50 * rtc::kNumMicrosecsPerMillisec)) {
1903 } 1925 }
1904 1926
1905 protected: 1927 protected:
1906 rtc::scoped_refptr<RTCStatsCollectorTestHelper> test_; 1928 rtc::scoped_refptr<RTCStatsCollectorTestHelper> test_;
1907 rtc::scoped_refptr<FakeRTCStatsCollector> collector_; 1929 rtc::scoped_refptr<FakeRTCStatsCollector> collector_;
1908 }; 1930 };
1909 1931
1910 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) { 1932 TEST_F(RTCStatsCollectorTestWithFakeCollector, ThreadUsageAndResultsMerging) {
1911 collector_->VerifyThreadUsageAndResultsMerging(); 1933 collector_->VerifyThreadUsageAndResultsMerging();
1912 } 1934 }
1913 1935
1914 } // namespace 1936 } // namespace
1915 1937
1916 } // namespace webrtc 1938 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/api/test/mock_datachannel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698