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

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

Issue 2020623002: Turning FakeDtlsIdentityStore into FakeRTCCertificateGenerator. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase with master Created 4 years, 6 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
« no previous file with comments | « webrtc/api/peerconnection_unittest.cc ('k') | webrtc/api/peerconnectioninterface.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 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 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
11 #include <memory> 11 #include <memory>
12 #include <string> 12 #include <string>
13 #include <utility> 13 #include <utility>
14 14
15 #include "webrtc/api/mediastreaminterface.h" 15 #include "webrtc/api/mediastreaminterface.h"
16 #include "webrtc/api/peerconnectionfactory.h" 16 #include "webrtc/api/peerconnectionfactory.h"
17 #ifdef WEBRTC_ANDROID 17 #ifdef WEBRTC_ANDROID
18 #include "webrtc/api/test/androidtestinitializer.h" 18 #include "webrtc/api/test/androidtestinitializer.h"
19 #endif 19 #endif
20 #include "webrtc/api/test/fakedtlsidentitystore.h" 20 #include "webrtc/api/test/fakertccertificategenerator.h"
21 #include "webrtc/api/test/fakevideotrackrenderer.h" 21 #include "webrtc/api/test/fakevideotrackrenderer.h"
22 #include "webrtc/base/gunit.h" 22 #include "webrtc/base/gunit.h"
23 #include "webrtc/base/thread.h" 23 #include "webrtc/base/thread.h"
24 #include "webrtc/media/base/fakevideocapturer.h" 24 #include "webrtc/media/base/fakevideocapturer.h"
25 #include "webrtc/media/engine/webrtccommon.h" 25 #include "webrtc/media/engine/webrtccommon.h"
26 #include "webrtc/media/engine/webrtcvoe.h" 26 #include "webrtc/media/engine/webrtcvoe.h"
27 #include "webrtc/p2p/base/fakeportallocator.h" 27 #include "webrtc/p2p/base/fakeportallocator.h"
28 28
29 using webrtc::DataChannelInterface; 29 using webrtc::DataChannelInterface;
30 using webrtc::DtlsIdentityStoreInterface; 30 using webrtc::DtlsIdentityStoreInterface;
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 #ifdef WEBRTC_ANDROID 135 #ifdef WEBRTC_ANDROID
136 webrtc::InitializeAndroidObjects(); 136 webrtc::InitializeAndroidObjects();
137 #endif 137 #endif
138 138
139 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory( 139 rtc::scoped_refptr<PeerConnectionFactoryInterface> factory(
140 webrtc::CreatePeerConnectionFactory()); 140 webrtc::CreatePeerConnectionFactory());
141 141
142 NullPeerConnectionObserver observer; 142 NullPeerConnectionObserver observer;
143 webrtc::PeerConnectionInterface::RTCConfiguration config; 143 webrtc::PeerConnectionInterface::RTCConfiguration config;
144 144
145 std::unique_ptr<FakeDtlsIdentityStore> dtls_identity_store( 145 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
146 new FakeDtlsIdentityStore()); 146 new FakeRTCCertificateGenerator());
147 rtc::scoped_refptr<PeerConnectionInterface> pc( 147 rtc::scoped_refptr<PeerConnectionInterface> pc(factory->CreatePeerConnection(
148 factory->CreatePeerConnectionWithStore( 148 config, nullptr, nullptr, std::move(cert_generator), &observer));
149 config, nullptr, nullptr, std::move(dtls_identity_store), &observer));
150 149
151 EXPECT_TRUE(pc.get() != nullptr); 150 EXPECT_TRUE(pc.get() != nullptr);
152 } 151 }
153 152
154 // This test verifies creation of PeerConnection with valid STUN and TURN 153 // This test verifies creation of PeerConnection with valid STUN and TURN
155 // configuration. Also verifies the URL's parsed correctly as expected. 154 // configuration. Also verifies the URL's parsed correctly as expected.
156 TEST_F(PeerConnectionFactoryTest, CreatePCUsingIceServers) { 155 TEST_F(PeerConnectionFactoryTest, CreatePCUsingIceServers) {
157 PeerConnectionInterface::RTCConfiguration config; 156 PeerConnectionInterface::RTCConfiguration config;
158 webrtc::PeerConnectionInterface::IceServer ice_server; 157 webrtc::PeerConnectionInterface::IceServer ice_server;
159 ice_server.uri = kStunIceServer; 158 ice_server.uri = kStunIceServer;
160 config.servers.push_back(ice_server); 159 config.servers.push_back(ice_server);
161 ice_server.uri = kTurnIceServer; 160 ice_server.uri = kTurnIceServer;
162 ice_server.password = kTurnPassword; 161 ice_server.password = kTurnPassword;
163 config.servers.push_back(ice_server); 162 config.servers.push_back(ice_server);
164 ice_server.uri = kTurnIceServerWithTransport; 163 ice_server.uri = kTurnIceServerWithTransport;
165 ice_server.password = kTurnPassword; 164 ice_server.password = kTurnPassword;
166 config.servers.push_back(ice_server); 165 config.servers.push_back(ice_server);
167 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 166 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
168 new FakeDtlsIdentityStore()); 167 new FakeRTCCertificateGenerator());
169 rtc::scoped_refptr<PeerConnectionInterface> pc( 168 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
170 factory_->CreatePeerConnectionWithStore( 169 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
171 config, nullptr, std::move(port_allocator_), 170 &observer_));
172 std::move(dtls_identity_store), &observer_));
173 ASSERT_TRUE(pc.get() != NULL); 171 ASSERT_TRUE(pc.get() != NULL);
174 cricket::ServerAddresses stun_servers; 172 cricket::ServerAddresses stun_servers;
175 rtc::SocketAddress stun1("stun.l.google.com", 19302); 173 rtc::SocketAddress stun1("stun.l.google.com", 19302);
176 stun_servers.insert(stun1); 174 stun_servers.insert(stun1);
177 VerifyStunServers(stun_servers); 175 VerifyStunServers(stun_servers);
178 std::vector<cricket::RelayServerConfig> turn_servers; 176 std::vector<cricket::RelayServerConfig> turn_servers;
179 cricket::RelayServerConfig turn1("test.com", 1234, "test@hello.com", 177 cricket::RelayServerConfig turn1("test.com", 1234, "test@hello.com",
180 kTurnPassword, cricket::PROTO_UDP, false); 178 kTurnPassword, cricket::PROTO_UDP, false);
181 turn_servers.push_back(turn1); 179 turn_servers.push_back(turn1);
182 cricket::RelayServerConfig turn2("hello.com", kDefaultStunPort, "test", 180 cricket::RelayServerConfig turn2("hello.com", kDefaultStunPort, "test",
183 kTurnPassword, cricket::PROTO_TCP, false); 181 kTurnPassword, cricket::PROTO_TCP, false);
184 turn_servers.push_back(turn2); 182 turn_servers.push_back(turn2);
185 VerifyTurnServers(turn_servers); 183 VerifyTurnServers(turn_servers);
186 } 184 }
187 185
188 // This test verifies creation of PeerConnection with valid STUN and TURN 186 // This test verifies creation of PeerConnection with valid STUN and TURN
189 // configuration. Also verifies the list of URL's parsed correctly as expected. 187 // configuration. Also verifies the list of URL's parsed correctly as expected.
190 TEST_F(PeerConnectionFactoryTest, CreatePCUsingIceServersUrls) { 188 TEST_F(PeerConnectionFactoryTest, CreatePCUsingIceServersUrls) {
191 PeerConnectionInterface::RTCConfiguration config; 189 PeerConnectionInterface::RTCConfiguration config;
192 webrtc::PeerConnectionInterface::IceServer ice_server; 190 webrtc::PeerConnectionInterface::IceServer ice_server;
193 ice_server.urls.push_back(kStunIceServer); 191 ice_server.urls.push_back(kStunIceServer);
194 ice_server.urls.push_back(kTurnIceServer); 192 ice_server.urls.push_back(kTurnIceServer);
195 ice_server.urls.push_back(kTurnIceServerWithTransport); 193 ice_server.urls.push_back(kTurnIceServerWithTransport);
196 ice_server.password = kTurnPassword; 194 ice_server.password = kTurnPassword;
197 config.servers.push_back(ice_server); 195 config.servers.push_back(ice_server);
198 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 196 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
199 new FakeDtlsIdentityStore()); 197 new FakeRTCCertificateGenerator());
200 rtc::scoped_refptr<PeerConnectionInterface> pc( 198 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
201 factory_->CreatePeerConnectionWithStore( 199 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
202 config, nullptr, std::move(port_allocator_), 200 &observer_));
203 std::move(dtls_identity_store), &observer_));
204 ASSERT_TRUE(pc.get() != NULL); 201 ASSERT_TRUE(pc.get() != NULL);
205 cricket::ServerAddresses stun_servers; 202 cricket::ServerAddresses stun_servers;
206 rtc::SocketAddress stun1("stun.l.google.com", 19302); 203 rtc::SocketAddress stun1("stun.l.google.com", 19302);
207 stun_servers.insert(stun1); 204 stun_servers.insert(stun1);
208 VerifyStunServers(stun_servers); 205 VerifyStunServers(stun_servers);
209 std::vector<cricket::RelayServerConfig> turn_servers; 206 std::vector<cricket::RelayServerConfig> turn_servers;
210 cricket::RelayServerConfig turn1("test.com", 1234, "test@hello.com", 207 cricket::RelayServerConfig turn1("test.com", 1234, "test@hello.com",
211 kTurnPassword, cricket::PROTO_UDP, false); 208 kTurnPassword, cricket::PROTO_UDP, false);
212 turn_servers.push_back(turn1); 209 turn_servers.push_back(turn1);
213 cricket::RelayServerConfig turn2("hello.com", kDefaultStunPort, "test", 210 cricket::RelayServerConfig turn2("hello.com", kDefaultStunPort, "test",
214 kTurnPassword, cricket::PROTO_TCP, false); 211 kTurnPassword, cricket::PROTO_TCP, false);
215 turn_servers.push_back(turn2); 212 turn_servers.push_back(turn2);
216 VerifyTurnServers(turn_servers); 213 VerifyTurnServers(turn_servers);
217 } 214 }
218 215
219 TEST_F(PeerConnectionFactoryTest, CreatePCUsingNoUsernameInUri) { 216 TEST_F(PeerConnectionFactoryTest, CreatePCUsingNoUsernameInUri) {
220 PeerConnectionInterface::RTCConfiguration config; 217 PeerConnectionInterface::RTCConfiguration config;
221 webrtc::PeerConnectionInterface::IceServer ice_server; 218 webrtc::PeerConnectionInterface::IceServer ice_server;
222 ice_server.uri = kStunIceServer; 219 ice_server.uri = kStunIceServer;
223 config.servers.push_back(ice_server); 220 config.servers.push_back(ice_server);
224 ice_server.uri = kTurnIceServerWithNoUsernameInUri; 221 ice_server.uri = kTurnIceServerWithNoUsernameInUri;
225 ice_server.username = kTurnUsername; 222 ice_server.username = kTurnUsername;
226 ice_server.password = kTurnPassword; 223 ice_server.password = kTurnPassword;
227 config.servers.push_back(ice_server); 224 config.servers.push_back(ice_server);
228 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 225 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
229 new FakeDtlsIdentityStore()); 226 new FakeRTCCertificateGenerator());
230 rtc::scoped_refptr<PeerConnectionInterface> pc( 227 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
231 factory_->CreatePeerConnectionWithStore( 228 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
232 config, nullptr, std::move(port_allocator_), 229 &observer_));
233 std::move(dtls_identity_store), &observer_));
234 ASSERT_TRUE(pc.get() != NULL); 230 ASSERT_TRUE(pc.get() != NULL);
235 std::vector<cricket::RelayServerConfig> turn_servers; 231 std::vector<cricket::RelayServerConfig> turn_servers;
236 cricket::RelayServerConfig turn("test.com", 1234, kTurnUsername, 232 cricket::RelayServerConfig turn("test.com", 1234, kTurnUsername,
237 kTurnPassword, cricket::PROTO_UDP, false); 233 kTurnPassword, cricket::PROTO_UDP, false);
238 turn_servers.push_back(turn); 234 turn_servers.push_back(turn);
239 VerifyTurnServers(turn_servers); 235 VerifyTurnServers(turn_servers);
240 } 236 }
241 237
242 // This test verifies the PeerConnection created properly with TURN url which 238 // This test verifies the PeerConnection created properly with TURN url which
243 // has transport parameter in it. 239 // has transport parameter in it.
244 TEST_F(PeerConnectionFactoryTest, CreatePCUsingTurnUrlWithTransportParam) { 240 TEST_F(PeerConnectionFactoryTest, CreatePCUsingTurnUrlWithTransportParam) {
245 PeerConnectionInterface::RTCConfiguration config; 241 PeerConnectionInterface::RTCConfiguration config;
246 webrtc::PeerConnectionInterface::IceServer ice_server; 242 webrtc::PeerConnectionInterface::IceServer ice_server;
247 ice_server.uri = kTurnIceServerWithTransport; 243 ice_server.uri = kTurnIceServerWithTransport;
248 ice_server.password = kTurnPassword; 244 ice_server.password = kTurnPassword;
249 config.servers.push_back(ice_server); 245 config.servers.push_back(ice_server);
250 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 246 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
251 new FakeDtlsIdentityStore()); 247 new FakeRTCCertificateGenerator());
252 rtc::scoped_refptr<PeerConnectionInterface> pc( 248 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
253 factory_->CreatePeerConnectionWithStore( 249 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
254 config, nullptr, std::move(port_allocator_), 250 &observer_));
255 std::move(dtls_identity_store), &observer_));
256 ASSERT_TRUE(pc.get() != NULL); 251 ASSERT_TRUE(pc.get() != NULL);
257 std::vector<cricket::RelayServerConfig> turn_servers; 252 std::vector<cricket::RelayServerConfig> turn_servers;
258 cricket::RelayServerConfig turn("hello.com", kDefaultStunPort, "test", 253 cricket::RelayServerConfig turn("hello.com", kDefaultStunPort, "test",
259 kTurnPassword, cricket::PROTO_TCP, false); 254 kTurnPassword, cricket::PROTO_TCP, false);
260 turn_servers.push_back(turn); 255 turn_servers.push_back(turn);
261 VerifyTurnServers(turn_servers); 256 VerifyTurnServers(turn_servers);
262 } 257 }
263 258
264 TEST_F(PeerConnectionFactoryTest, CreatePCUsingSecureTurnUrl) { 259 TEST_F(PeerConnectionFactoryTest, CreatePCUsingSecureTurnUrl) {
265 PeerConnectionInterface::RTCConfiguration config; 260 PeerConnectionInterface::RTCConfiguration config;
266 webrtc::PeerConnectionInterface::IceServer ice_server; 261 webrtc::PeerConnectionInterface::IceServer ice_server;
267 ice_server.uri = kSecureTurnIceServer; 262 ice_server.uri = kSecureTurnIceServer;
268 ice_server.password = kTurnPassword; 263 ice_server.password = kTurnPassword;
269 config.servers.push_back(ice_server); 264 config.servers.push_back(ice_server);
270 ice_server.uri = kSecureTurnIceServerWithoutTransportParam; 265 ice_server.uri = kSecureTurnIceServerWithoutTransportParam;
271 ice_server.password = kTurnPassword; 266 ice_server.password = kTurnPassword;
272 config.servers.push_back(ice_server); 267 config.servers.push_back(ice_server);
273 ice_server.uri = kSecureTurnIceServerWithoutTransportAndPortParam; 268 ice_server.uri = kSecureTurnIceServerWithoutTransportAndPortParam;
274 ice_server.password = kTurnPassword; 269 ice_server.password = kTurnPassword;
275 config.servers.push_back(ice_server); 270 config.servers.push_back(ice_server);
276 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 271 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
277 new FakeDtlsIdentityStore()); 272 new FakeRTCCertificateGenerator());
278 rtc::scoped_refptr<PeerConnectionInterface> pc( 273 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
279 factory_->CreatePeerConnectionWithStore( 274 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
280 config, nullptr, std::move(port_allocator_), 275 &observer_));
281 std::move(dtls_identity_store), &observer_));
282 ASSERT_TRUE(pc.get() != NULL); 276 ASSERT_TRUE(pc.get() != NULL);
283 std::vector<cricket::RelayServerConfig> turn_servers; 277 std::vector<cricket::RelayServerConfig> turn_servers;
284 cricket::RelayServerConfig turn1("hello.com", kDefaultStunTlsPort, "test", 278 cricket::RelayServerConfig turn1("hello.com", kDefaultStunTlsPort, "test",
285 kTurnPassword, cricket::PROTO_TCP, true); 279 kTurnPassword, cricket::PROTO_TCP, true);
286 turn_servers.push_back(turn1); 280 turn_servers.push_back(turn1);
287 // TURNS with transport param should be default to tcp. 281 // TURNS with transport param should be default to tcp.
288 cricket::RelayServerConfig turn2("hello.com", 443, "test_no_transport", 282 cricket::RelayServerConfig turn2("hello.com", 443, "test_no_transport",
289 kTurnPassword, cricket::PROTO_TCP, true); 283 kTurnPassword, cricket::PROTO_TCP, true);
290 turn_servers.push_back(turn2); 284 turn_servers.push_back(turn2);
291 cricket::RelayServerConfig turn3("hello.com", kDefaultStunTlsPort, 285 cricket::RelayServerConfig turn3("hello.com", kDefaultStunTlsPort,
(...skipping 10 matching lines...) Expand all
302 config.servers.push_back(ice_server); 296 config.servers.push_back(ice_server);
303 ice_server.uri = kStunIceServerWithIPv4AddressWithoutPort; 297 ice_server.uri = kStunIceServerWithIPv4AddressWithoutPort;
304 config.servers.push_back(ice_server); 298 config.servers.push_back(ice_server);
305 ice_server.uri = kStunIceServerWithIPv6Address; 299 ice_server.uri = kStunIceServerWithIPv6Address;
306 config.servers.push_back(ice_server); 300 config.servers.push_back(ice_server);
307 ice_server.uri = kStunIceServerWithIPv6AddressWithoutPort; 301 ice_server.uri = kStunIceServerWithIPv6AddressWithoutPort;
308 config.servers.push_back(ice_server); 302 config.servers.push_back(ice_server);
309 ice_server.uri = kTurnIceServerWithIPv6Address; 303 ice_server.uri = kTurnIceServerWithIPv6Address;
310 ice_server.password = kTurnPassword; 304 ice_server.password = kTurnPassword;
311 config.servers.push_back(ice_server); 305 config.servers.push_back(ice_server);
312 std::unique_ptr<DtlsIdentityStoreInterface> dtls_identity_store( 306 std::unique_ptr<FakeRTCCertificateGenerator> cert_generator(
313 new FakeDtlsIdentityStore()); 307 new FakeRTCCertificateGenerator());
314 rtc::scoped_refptr<PeerConnectionInterface> pc( 308 rtc::scoped_refptr<PeerConnectionInterface> pc(factory_->CreatePeerConnection(
315 factory_->CreatePeerConnectionWithStore( 309 config, nullptr, std::move(port_allocator_), std::move(cert_generator),
316 config, nullptr, std::move(port_allocator_), 310 &observer_));
317 std::move(dtls_identity_store), &observer_));
318 ASSERT_TRUE(pc.get() != NULL); 311 ASSERT_TRUE(pc.get() != NULL);
319 cricket::ServerAddresses stun_servers; 312 cricket::ServerAddresses stun_servers;
320 rtc::SocketAddress stun1("1.2.3.4", 1234); 313 rtc::SocketAddress stun1("1.2.3.4", 1234);
321 stun_servers.insert(stun1); 314 stun_servers.insert(stun1);
322 rtc::SocketAddress stun2("1.2.3.4", 3478); 315 rtc::SocketAddress stun2("1.2.3.4", 3478);
323 stun_servers.insert(stun2); // Default port 316 stun_servers.insert(stun2); // Default port
324 rtc::SocketAddress stun3("2401:fa00:4::", 1234); 317 rtc::SocketAddress stun3("2401:fa00:4::", 1234);
325 stun_servers.insert(stun3); 318 stun_servers.insert(stun3);
326 rtc::SocketAddress stun4("2401:fa00:4::", 3478); 319 rtc::SocketAddress stun4("2401:fa00:4::", 3478);
327 stun_servers.insert(stun4); // Default port 320 stun_servers.insert(stun4); // Default port
(...skipping 27 matching lines...) Expand all
355 track->set_enabled(false); 348 track->set_enabled(false);
356 EXPECT_TRUE(capturer->CaptureFrame()); 349 EXPECT_TRUE(capturer->CaptureFrame());
357 EXPECT_EQ(2, local_renderer.num_rendered_frames()); 350 EXPECT_EQ(2, local_renderer.num_rendered_frames());
358 EXPECT_TRUE(local_renderer.black_frame()); 351 EXPECT_TRUE(local_renderer.black_frame());
359 352
360 track->set_enabled(true); 353 track->set_enabled(true);
361 EXPECT_TRUE(capturer->CaptureFrame()); 354 EXPECT_TRUE(capturer->CaptureFrame());
362 EXPECT_EQ(3, local_renderer.num_rendered_frames()); 355 EXPECT_EQ(3, local_renderer.num_rendered_frames());
363 EXPECT_FALSE(local_renderer.black_frame()); 356 EXPECT_FALSE(local_renderer.black_frame());
364 } 357 }
OLDNEW
« no previous file with comments | « webrtc/api/peerconnection_unittest.cc ('k') | webrtc/api/peerconnectioninterface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698