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

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

Issue 1888903003: Network thread (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 4 years, 7 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 * 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 const char kLocalTrackId[] = "local_track_id"; 64 const char kLocalTrackId[] = "local_track_id";
65 const char kRemoteTrackId[] = "remote_track_id"; 65 const char kRemoteTrackId[] = "remote_track_id";
66 const uint32_t kSsrcOfTrack = 1234; 66 const uint32_t kSsrcOfTrack = 1234;
67 67
68 class MockWebRtcSession : public webrtc::WebRtcSession { 68 class MockWebRtcSession : public webrtc::WebRtcSession {
69 public: 69 public:
70 explicit MockWebRtcSession(webrtc::MediaControllerInterface* media_controller) 70 explicit MockWebRtcSession(webrtc::MediaControllerInterface* media_controller)
71 : WebRtcSession(media_controller, 71 : WebRtcSession(media_controller,
72 rtc::Thread::Current(), 72 rtc::Thread::Current(),
73 rtc::Thread::Current(), 73 rtc::Thread::Current(),
74 rtc::Thread::Current(),
74 nullptr) {} 75 nullptr) {}
75 MOCK_METHOD0(voice_channel, cricket::VoiceChannel*()); 76 MOCK_METHOD0(voice_channel, cricket::VoiceChannel*());
76 MOCK_METHOD0(video_channel, cricket::VideoChannel*()); 77 MOCK_METHOD0(video_channel, cricket::VideoChannel*());
77 // Libjingle uses "local" for a outgoing track, and "remote" for a incoming 78 // Libjingle uses "local" for a outgoing track, and "remote" for a incoming
78 // track. 79 // track.
79 MOCK_METHOD2(GetLocalTrackIdBySsrc, bool(uint32_t, std::string*)); 80 MOCK_METHOD2(GetLocalTrackIdBySsrc, bool(uint32_t, std::string*));
80 MOCK_METHOD2(GetRemoteTrackIdBySsrc, bool(uint32_t, std::string*)); 81 MOCK_METHOD2(GetRemoteTrackIdBySsrc, bool(uint32_t, std::string*));
81 MOCK_METHOD1(GetTransportStats, bool(SessionStats*)); 82 MOCK_METHOD1(GetTransportStats, bool(SessionStats*));
82 MOCK_METHOD2(GetLocalCertificate, 83 MOCK_METHOD2(GetLocalCertificate,
83 bool(const std::string& transport_name, 84 bool(const std::string& transport_name,
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
486 } 487 }
487 488
488 private: 489 private:
489 double time_now_; 490 double time_now_;
490 }; 491 };
491 492
492 class StatsCollectorTest : public testing::Test { 493 class StatsCollectorTest : public testing::Test {
493 protected: 494 protected:
494 StatsCollectorTest() 495 StatsCollectorTest()
495 : media_engine_(new cricket::FakeMediaEngine()), 496 : media_engine_(new cricket::FakeMediaEngine()),
496 channel_manager_( 497 channel_manager_(new cricket::ChannelManager(media_engine_,
497 new cricket::ChannelManager(media_engine_, rtc::Thread::Current())), 498 rtc::Thread::Current(),
499 rtc::Thread::Current())),
498 media_controller_( 500 media_controller_(
499 webrtc::MediaControllerInterface::Create(cricket::MediaConfig(), 501 webrtc::MediaControllerInterface::Create(cricket::MediaConfig(),
500 rtc::Thread::Current(), 502 rtc::Thread::Current(),
501 channel_manager_.get())), 503 channel_manager_.get())),
502 session_(media_controller_.get()) { 504 session_(media_controller_.get()) {
503 // By default, we ignore session GetStats calls. 505 // By default, we ignore session GetStats calls.
504 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false)); 506 EXPECT_CALL(session_, GetTransportStats(_)).WillRepeatedly(Return(false));
505 // Add default returns for mock classes. 507 // Add default returns for mock classes.
506 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull()); 508 EXPECT_CALL(session_, video_channel()).WillRepeatedly(ReturnNull());
507 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull()); 509 EXPECT_CALL(session_, voice_channel()).WillRepeatedly(ReturnNull());
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
817 .WillRepeatedly(Return(nullptr)); 819 .WillRepeatedly(Return(nullptr));
818 820
819 const char kVideoChannelName[] = "video"; 821 const char kVideoChannelName[] = "video";
820 822
821 InitSessionStats(kVideoChannelName); 823 InitSessionStats(kVideoChannelName);
822 EXPECT_CALL(session_, GetTransportStats(_)) 824 EXPECT_CALL(session_, GetTransportStats(_))
823 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 825 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
824 Return(true))); 826 Return(true)));
825 827
826 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 828 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
827 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 829 cricket::VideoChannel video_channel(rtc::Thread::Current(),
830 rtc::Thread::Current(), media_channel,
828 nullptr, kVideoChannelName, false); 831 nullptr, kVideoChannelName, false);
829 StatsReports reports; // returned values. 832 StatsReports reports; // returned values.
830 cricket::VideoSenderInfo video_sender_info; 833 cricket::VideoSenderInfo video_sender_info;
831 cricket::VideoMediaInfo stats_read; 834 cricket::VideoMediaInfo stats_read;
832 // The number of bytes must be larger than 0xFFFFFFFF for this test. 835 // The number of bytes must be larger than 0xFFFFFFFF for this test.
833 const int64_t kBytesSent = 12345678901234LL; 836 const int64_t kBytesSent = 12345678901234LL;
834 const std::string kBytesSentString("12345678901234"); 837 const std::string kBytesSentString("12345678901234");
835 838
836 AddOutgoingVideoTrackStats(); 839 AddOutgoingVideoTrackStats();
837 stats.AddStream(stream_); 840 stats.AddStream(stream_);
(...skipping 25 matching lines...) Expand all
863 .WillRepeatedly(Return(nullptr)); 866 .WillRepeatedly(Return(nullptr));
864 867
865 const char kVideoChannelName[] = "video"; 868 const char kVideoChannelName[] = "video";
866 869
867 InitSessionStats(kVideoChannelName); 870 InitSessionStats(kVideoChannelName);
868 EXPECT_CALL(session_, GetTransportStats(_)) 871 EXPECT_CALL(session_, GetTransportStats(_))
869 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 872 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
870 Return(true))); 873 Return(true)));
871 874
872 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 875 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
873 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 876 cricket::VideoChannel video_channel(rtc::Thread::Current(),
877 rtc::Thread::Current(), media_channel,
874 nullptr, kVideoChannelName, false); 878 nullptr, kVideoChannelName, false);
875 879
876 StatsReports reports; // returned values. 880 StatsReports reports; // returned values.
877 cricket::VideoSenderInfo video_sender_info; 881 cricket::VideoSenderInfo video_sender_info;
878 cricket::VideoMediaInfo stats_read; 882 cricket::VideoMediaInfo stats_read;
879 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and 883 // Set up an SSRC just to test that we get both kinds of stats back: SSRC and
880 // BWE. 884 // BWE.
881 const int64_t kBytesSent = 12345678901234LL; 885 const int64_t kBytesSent = 12345678901234LL;
882 const std::string kBytesSentString("12345678901234"); 886 const std::string kBytesSentString("12345678901234");
883 887
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 reports, StatsReport::kStatsReportTypeSession, 2); 942 reports, StatsReport::kStatsReportTypeSession, 2);
939 EXPECT_EQ(NULL, session_report); 943 EXPECT_EQ(NULL, session_report);
940 } 944 }
941 945
942 // This test verifies that the empty track report exists in the returned stats 946 // This test verifies that the empty track report exists in the returned stats
943 // without calling StatsCollector::UpdateStats. 947 // without calling StatsCollector::UpdateStats.
944 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) { 948 TEST_F(StatsCollectorTest, TrackObjectExistsWithoutUpdateStats) {
945 StatsCollectorForTest stats(&pc_); 949 StatsCollectorForTest stats(&pc_);
946 950
947 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 951 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
948 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 952 cricket::VideoChannel video_channel(rtc::Thread::Current(),
953 rtc::Thread::Current(), media_channel,
949 nullptr, "video", false); 954 nullptr, "video", false);
950 AddOutgoingVideoTrackStats(); 955 AddOutgoingVideoTrackStats();
951 stats.AddStream(stream_); 956 stats.AddStream(stream_);
952 957
953 // Verfies the existence of the track report. 958 // Verfies the existence of the track report.
954 StatsReports reports; 959 StatsReports reports;
955 stats.GetStats(NULL, &reports); 960 stats.GetStats(NULL, &reports);
956 EXPECT_EQ((size_t)1, reports.size()); 961 EXPECT_EQ((size_t)1, reports.size());
957 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type()); 962 EXPECT_EQ(StatsReport::kStatsReportTypeTrack, reports[0]->type());
958 EXPECT_EQ(0, reports[0]->timestamp()); 963 EXPECT_EQ(0, reports[0]->timestamp());
(...skipping 15 matching lines...) Expand all
974 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 979 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
975 .WillRepeatedly(Return(nullptr)); 980 .WillRepeatedly(Return(nullptr));
976 981
977 const char kVideoChannelName[] = "video"; 982 const char kVideoChannelName[] = "video";
978 InitSessionStats(kVideoChannelName); 983 InitSessionStats(kVideoChannelName);
979 EXPECT_CALL(session_, GetTransportStats(_)) 984 EXPECT_CALL(session_, GetTransportStats(_))
980 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 985 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
981 Return(true))); 986 Return(true)));
982 987
983 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 988 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
984 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 989 cricket::VideoChannel video_channel(rtc::Thread::Current(),
990 rtc::Thread::Current(), media_channel,
985 nullptr, kVideoChannelName, false); 991 nullptr, kVideoChannelName, false);
986 AddOutgoingVideoTrackStats(); 992 AddOutgoingVideoTrackStats();
987 stats.AddStream(stream_); 993 stats.AddStream(stream_);
988 994
989 // Constructs an ssrc stats update. 995 // Constructs an ssrc stats update.
990 cricket::VideoSenderInfo video_sender_info; 996 cricket::VideoSenderInfo video_sender_info;
991 cricket::VideoMediaInfo stats_read; 997 cricket::VideoMediaInfo stats_read;
992 const int64_t kBytesSent = 12345678901234LL; 998 const int64_t kBytesSent = 12345678901234LL;
993 999
994 // Construct a stats value to read. 1000 // Construct a stats value to read.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 StatsCollectorForTest stats(&pc_); 1048 StatsCollectorForTest stats(&pc_);
1043 1049
1044 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1050 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1045 .WillRepeatedly(Return(false)); 1051 .WillRepeatedly(Return(false));
1046 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1052 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1047 .WillRepeatedly(Return(nullptr)); 1053 .WillRepeatedly(Return(nullptr));
1048 1054
1049 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1055 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1050 // The transport_name known by the video channel. 1056 // The transport_name known by the video channel.
1051 const std::string kVcName("vcname"); 1057 const std::string kVcName("vcname");
1052 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 1058 cricket::VideoChannel video_channel(rtc::Thread::Current(),
1059 rtc::Thread::Current(), media_channel,
1053 nullptr, kVcName, false); 1060 nullptr, kVcName, false);
1054 AddOutgoingVideoTrackStats(); 1061 AddOutgoingVideoTrackStats();
1055 stats.AddStream(stream_); 1062 stats.AddStream(stream_);
1056 1063
1057 // Constructs an ssrc stats update. 1064 // Constructs an ssrc stats update.
1058 cricket::VideoSenderInfo video_sender_info; 1065 cricket::VideoSenderInfo video_sender_info;
1059 cricket::VideoMediaInfo stats_read; 1066 cricket::VideoMediaInfo stats_read;
1060 const int64_t kBytesSent = 12345678901234LL; 1067 const int64_t kBytesSent = 12345678901234LL;
1061 1068
1062 // Construct a stats value to read. 1069 // Construct a stats value to read.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 } 1107 }
1101 1108
1102 // This test verifies that a remote stats object will not be created for 1109 // This test verifies that a remote stats object will not be created for
1103 // an outgoing SSRC where remote stats are not returned. 1110 // an outgoing SSRC where remote stats are not returned.
1104 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) { 1111 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsAbsent) {
1105 StatsCollectorForTest stats(&pc_); 1112 StatsCollectorForTest stats(&pc_);
1106 1113
1107 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1114 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1108 // The transport_name known by the video channel. 1115 // The transport_name known by the video channel.
1109 const std::string kVcName("vcname"); 1116 const std::string kVcName("vcname");
1110 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 1117 cricket::VideoChannel video_channel(rtc::Thread::Current(),
1118 rtc::Thread::Current(), media_channel,
1111 nullptr, kVcName, false); 1119 nullptr, kVcName, false);
1112 AddOutgoingVideoTrackStats(); 1120 AddOutgoingVideoTrackStats();
1113 stats.AddStream(stream_); 1121 stats.AddStream(stream_);
1114 1122
1115 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard); 1123 stats.UpdateStats(PeerConnectionInterface::kStatsOutputLevelStandard);
1116 StatsReports reports; 1124 StatsReports reports;
1117 stats.GetStats(NULL, &reports); 1125 stats.GetStats(NULL, &reports);
1118 const StatsReport* remote_report = FindNthReportByType(reports, 1126 const StatsReport* remote_report = FindNthReportByType(reports,
1119 StatsReport::kStatsReportTypeRemoteSsrc, 1); 1127 StatsReport::kStatsReportTypeRemoteSsrc, 1);
1120 EXPECT_TRUE(remote_report == NULL); 1128 EXPECT_TRUE(remote_report == NULL);
1121 } 1129 }
1122 1130
1123 // This test verifies that a remote stats object will be created for 1131 // This test verifies that a remote stats object will be created for
1124 // an outgoing SSRC where stats are returned. 1132 // an outgoing SSRC where stats are returned.
1125 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) { 1133 TEST_F(StatsCollectorTest, RemoteSsrcInfoIsPresent) {
1126 StatsCollectorForTest stats(&pc_); 1134 StatsCollectorForTest stats(&pc_);
1127 1135
1128 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1136 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1129 .WillRepeatedly(Return(false)); 1137 .WillRepeatedly(Return(false));
1130 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1138 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1131 .WillRepeatedly(Return(nullptr)); 1139 .WillRepeatedly(Return(nullptr));
1132 1140
1133 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1141 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1134 // The transport_name known by the video channel. 1142 // The transport_name known by the video channel.
1135 const std::string kVcName("vcname"); 1143 const std::string kVcName("vcname");
1136 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 1144 cricket::VideoChannel video_channel(rtc::Thread::Current(),
1145 rtc::Thread::Current(), media_channel,
1137 nullptr, kVcName, false); 1146 nullptr, kVcName, false);
1138 AddOutgoingVideoTrackStats(); 1147 AddOutgoingVideoTrackStats();
1139 stats.AddStream(stream_); 1148 stats.AddStream(stream_);
1140 1149
1141 // Instruct the session to return stats containing the transport channel. 1150 // Instruct the session to return stats containing the transport channel.
1142 InitSessionStats(kVcName); 1151 InitSessionStats(kVcName);
1143 EXPECT_CALL(session_, GetTransportStats(_)) 1152 EXPECT_CALL(session_, GetTransportStats(_))
1144 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1153 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1145 Return(true))); 1154 Return(true)));
1146 1155
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
1181 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1190 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1182 .WillRepeatedly(Return(nullptr)); 1191 .WillRepeatedly(Return(nullptr));
1183 1192
1184 const char kVideoChannelName[] = "video"; 1193 const char kVideoChannelName[] = "video";
1185 InitSessionStats(kVideoChannelName); 1194 InitSessionStats(kVideoChannelName);
1186 EXPECT_CALL(session_, GetTransportStats(_)) 1195 EXPECT_CALL(session_, GetTransportStats(_))
1187 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1196 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1188 Return(true))); 1197 Return(true)));
1189 1198
1190 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel(); 1199 MockVideoMediaChannel* media_channel = new MockVideoMediaChannel();
1191 cricket::VideoChannel video_channel(rtc::Thread::Current(), media_channel, 1200 cricket::VideoChannel video_channel(rtc::Thread::Current(),
1201 rtc::Thread::Current(), media_channel,
1192 nullptr, kVideoChannelName, false); 1202 nullptr, kVideoChannelName, false);
1193 AddIncomingVideoTrackStats(); 1203 AddIncomingVideoTrackStats();
1194 stats.AddStream(stream_); 1204 stats.AddStream(stream_);
1195 1205
1196 // Constructs an ssrc stats update. 1206 // Constructs an ssrc stats update.
1197 cricket::VideoReceiverInfo video_receiver_info; 1207 cricket::VideoReceiverInfo video_receiver_info;
1198 cricket::VideoMediaInfo stats_read; 1208 cricket::VideoMediaInfo stats_read;
1199 const int64_t kNumOfPacketsConcealed = 54321; 1209 const int64_t kNumOfPacketsConcealed = 54321;
1200 1210
1201 // Construct a stats value to read. 1211 // Construct a stats value to read.
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
1493 StatsCollectorForTest stats(&pc_); 1503 StatsCollectorForTest stats(&pc_);
1494 1504
1495 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1505 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1496 .WillRepeatedly(Return(false)); 1506 .WillRepeatedly(Return(false));
1497 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1507 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1498 .WillRepeatedly(Return(nullptr)); 1508 .WillRepeatedly(Return(nullptr));
1499 1509
1500 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1510 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1501 // The transport_name known by the voice channel. 1511 // The transport_name known by the voice channel.
1502 const std::string kVcName("vcname"); 1512 const std::string kVcName("vcname");
1503 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, 1513 cricket::VoiceChannel voice_channel(rtc::Thread::Current(),
1514 rtc::Thread::Current(), media_engine_,
1504 media_channel, nullptr, kVcName, false); 1515 media_channel, nullptr, kVcName, false);
1505 AddOutgoingAudioTrackStats(); 1516 AddOutgoingAudioTrackStats();
1506 stats.AddStream(stream_); 1517 stats.AddStream(stream_);
1507 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1518 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1508 1519
1509 cricket::VoiceSenderInfo voice_sender_info; 1520 cricket::VoiceSenderInfo voice_sender_info;
1510 InitVoiceSenderInfo(&voice_sender_info); 1521 InitVoiceSenderInfo(&voice_sender_info);
1511 1522
1512 cricket::VoiceMediaInfo stats_read; 1523 cricket::VoiceMediaInfo stats_read;
1513 StatsReports reports; // returned values. 1524 StatsReports reports; // returned values.
(...skipping 14 matching lines...) Expand all
1528 StatsCollectorForTest stats(&pc_); 1539 StatsCollectorForTest stats(&pc_);
1529 1540
1530 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1541 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1531 .WillRepeatedly(Return(false)); 1542 .WillRepeatedly(Return(false));
1532 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1543 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1533 .WillRepeatedly(Return(nullptr)); 1544 .WillRepeatedly(Return(nullptr));
1534 1545
1535 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1546 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1536 // The transport_name known by the voice channel. 1547 // The transport_name known by the voice channel.
1537 const std::string kVcName("vcname"); 1548 const std::string kVcName("vcname");
1538 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, 1549 cricket::VoiceChannel voice_channel(rtc::Thread::Current(),
1550 rtc::Thread::Current(), media_engine_,
1539 media_channel, nullptr, kVcName, false); 1551 media_channel, nullptr, kVcName, false);
1540 AddIncomingAudioTrackStats(); 1552 AddIncomingAudioTrackStats();
1541 stats.AddStream(stream_); 1553 stats.AddStream(stream_);
1542 1554
1543 cricket::VoiceReceiverInfo voice_receiver_info; 1555 cricket::VoiceReceiverInfo voice_receiver_info;
1544 InitVoiceReceiverInfo(&voice_receiver_info); 1556 InitVoiceReceiverInfo(&voice_receiver_info);
1545 voice_receiver_info.codec_name = "fake_codec"; 1557 voice_receiver_info.codec_name = "fake_codec";
1546 1558
1547 cricket::VoiceMediaInfo stats_read; 1559 cricket::VoiceMediaInfo stats_read;
1548 StatsReports reports; // returned values. 1560 StatsReports reports; // returned values.
1549 SetupAndVerifyAudioTrackStats( 1561 SetupAndVerifyAudioTrackStats(
1550 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName, 1562 audio_track_.get(), stream_.get(), &stats, &voice_channel, kVcName,
1551 media_channel, NULL, &voice_receiver_info, &stats_read, &reports); 1563 media_channel, NULL, &voice_receiver_info, &stats_read, &reports);
1552 } 1564 }
1553 1565
1554 // This test verifies that a local stats object won't update its statistics 1566 // This test verifies that a local stats object won't update its statistics
1555 // after a RemoveLocalAudioTrack() call. 1567 // after a RemoveLocalAudioTrack() call.
1556 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) { 1568 TEST_F(StatsCollectorTest, GetStatsAfterRemoveAudioStream) {
1557 StatsCollectorForTest stats(&pc_); 1569 StatsCollectorForTest stats(&pc_);
1558 1570
1559 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1571 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1560 .WillRepeatedly(Return(false)); 1572 .WillRepeatedly(Return(false));
1561 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1573 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1562 .WillRepeatedly(Return(nullptr)); 1574 .WillRepeatedly(Return(nullptr));
1563 1575
1564 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1576 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1565 // The transport_name known by the voice channel. 1577 // The transport_name known by the voice channel.
1566 const std::string kVcName("vcname"); 1578 const std::string kVcName("vcname");
1567 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, 1579 cricket::VoiceChannel voice_channel(rtc::Thread::Current(),
1580 rtc::Thread::Current(), media_engine_,
1568 media_channel, nullptr, kVcName, false); 1581 media_channel, nullptr, kVcName, false);
1569 AddOutgoingAudioTrackStats(); 1582 AddOutgoingAudioTrackStats();
1570 stats.AddStream(stream_); 1583 stats.AddStream(stream_);
1571 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1584 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1572 1585
1573 // Instruct the session to return stats containing the transport channel. 1586 // Instruct the session to return stats containing the transport channel.
1574 InitSessionStats(kVcName); 1587 InitSessionStats(kVcName);
1575 EXPECT_CALL(session_, GetTransportStats(_)) 1588 EXPECT_CALL(session_, GetTransportStats(_))
1576 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_), 1589 .WillRepeatedly(DoAll(SetArgPointee<0>(session_stats_),
1577 Return(true))); 1590 Return(true)));
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1618 StatsCollectorForTest stats(&pc_); 1631 StatsCollectorForTest stats(&pc_);
1619 1632
1620 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1633 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1621 .WillRepeatedly(Return(false)); 1634 .WillRepeatedly(Return(false));
1622 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1635 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1623 .WillRepeatedly(Return(nullptr)); 1636 .WillRepeatedly(Return(nullptr));
1624 1637
1625 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1638 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1626 // The transport_name known by the voice channel. 1639 // The transport_name known by the voice channel.
1627 const std::string kVcName("vcname"); 1640 const std::string kVcName("vcname");
1628 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, 1641 cricket::VoiceChannel voice_channel(rtc::Thread::Current(),
1642 rtc::Thread::Current(), media_engine_,
1629 media_channel, nullptr, kVcName, false); 1643 media_channel, nullptr, kVcName, false);
1630 1644
1631 // Create a local stream with a local audio track and adds it to the stats. 1645 // Create a local stream with a local audio track and adds it to the stats.
1632 AddOutgoingAudioTrackStats(); 1646 AddOutgoingAudioTrackStats();
1633 stats.AddStream(stream_); 1647 stats.AddStream(stream_);
1634 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack); 1648 stats.AddLocalAudioTrack(audio_track_.get(), kSsrcOfTrack);
1635 1649
1636 // Create a remote stream with a remote audio track and adds it to the stats. 1650 // Create a remote stream with a remote audio track and adds it to the stats.
1637 rtc::scoped_refptr<webrtc::MediaStream> remote_stream( 1651 rtc::scoped_refptr<webrtc::MediaStream> remote_stream(
1638 webrtc::MediaStream::Create("remotestreamlabel")); 1652 webrtc::MediaStream::Create("remotestreamlabel"));
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1705 StatsCollectorForTest stats(&pc_); 1719 StatsCollectorForTest stats(&pc_);
1706 1720
1707 EXPECT_CALL(session_, GetLocalCertificate(_, _)) 1721 EXPECT_CALL(session_, GetLocalCertificate(_, _))
1708 .WillRepeatedly(Return(false)); 1722 .WillRepeatedly(Return(false));
1709 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_)) 1723 EXPECT_CALL(session_, GetRemoteSSLCertificate_ReturnsRawPointer(_))
1710 .WillRepeatedly(Return(nullptr)); 1724 .WillRepeatedly(Return(nullptr));
1711 1725
1712 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel(); 1726 MockVoiceMediaChannel* media_channel = new MockVoiceMediaChannel();
1713 // The transport_name known by the voice channel. 1727 // The transport_name known by the voice channel.
1714 const std::string kVcName("vcname"); 1728 const std::string kVcName("vcname");
1715 cricket::VoiceChannel voice_channel(rtc::Thread::Current(), media_engine_, 1729 cricket::VoiceChannel voice_channel(rtc::Thread::Current(),
1730 rtc::Thread::Current(), media_engine_,
1716 media_channel, nullptr, kVcName, false); 1731 media_channel, nullptr, kVcName, false);
1717 1732
1718 // Create a local stream with a local audio track and adds it to the stats. 1733 // Create a local stream with a local audio track and adds it to the stats.
1719 AddOutgoingAudioTrackStats(); 1734 AddOutgoingAudioTrackStats();
1720 stats.AddStream(stream_); 1735 stats.AddStream(stream_);
1721 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack); 1736 stats.AddLocalAudioTrack(audio_track_, kSsrcOfTrack);
1722 1737
1723 cricket::VoiceSenderInfo voice_sender_info; 1738 cricket::VoiceSenderInfo voice_sender_info;
1724 voice_sender_info.add_ssrc(kSsrcOfTrack); 1739 voice_sender_info.add_ssrc(kSsrcOfTrack);
1725 1740
(...skipping 20 matching lines...) Expand all
1746 cricket::VoiceSenderInfo new_voice_sender_info; 1761 cricket::VoiceSenderInfo new_voice_sender_info;
1747 InitVoiceSenderInfo(&new_voice_sender_info); 1762 InitVoiceSenderInfo(&new_voice_sender_info);
1748 cricket::VoiceMediaInfo new_stats_read; 1763 cricket::VoiceMediaInfo new_stats_read;
1749 reports.clear(); 1764 reports.clear();
1750 SetupAndVerifyAudioTrackStats( 1765 SetupAndVerifyAudioTrackStats(
1751 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName, 1766 new_audio_track.get(), stream_.get(), &stats, &voice_channel, kVcName,
1752 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports); 1767 media_channel, &new_voice_sender_info, NULL, &new_stats_read, &reports);
1753 } 1768 }
1754 1769
1755 } // namespace webrtc 1770 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/api/peerconnectioninterface_unittest.cc ('k') | webrtc/api/test/peerconnectiontestwrapper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698