OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2017 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 | 12 |
13 #include "webrtc/base/fakenetwork.h" | 13 #include "webrtc/base/fakenetwork.h" |
14 #include "webrtc/base/gunit.h" | 14 #include "webrtc/base/gunit.h" |
15 #include "webrtc/base/physicalsocketserver.h" | |
16 #include "webrtc/base/virtualsocketserver.h" | 15 #include "webrtc/base/virtualsocketserver.h" |
17 #include "webrtc/media/base/fakemediaengine.h" | 16 #include "webrtc/media/base/fakemediaengine.h" |
18 #include "webrtc/ortc/ortcfactory.h" | 17 #include "webrtc/ortc/ortcfactory.h" |
19 #include "webrtc/ortc/testrtpparameters.h" | 18 #include "webrtc/ortc/testrtpparameters.h" |
20 #include "webrtc/p2p/base/fakepackettransport.h" | 19 #include "webrtc/p2p/base/fakepackettransport.h" |
21 | 20 |
22 namespace webrtc { | 21 namespace webrtc { |
23 | 22 |
24 // This test uses a virtual network and fake media engine, in order to test the | 23 // This test uses a virtual network and fake media engine, in order to test the |
25 // OrtcFactory at only an API level. Any end-to-end test should go in | 24 // OrtcFactory at only an API level. Any end-to-end test should go in |
26 // ortcfactory_integrationtest.cc instead. | 25 // ortcfactory_integrationtest.cc instead. |
27 class OrtcFactoryTest : public testing::Test { | 26 class OrtcFactoryTest : public testing::Test { |
28 public: | 27 public: |
29 OrtcFactoryTest() | 28 OrtcFactoryTest() |
30 : virtual_socket_server_(&physical_socket_server_), | 29 : thread_(&virtual_socket_server_), |
31 thread_(&virtual_socket_server_), | |
32 fake_packet_transport_("fake transport") { | 30 fake_packet_transport_("fake transport") { |
33 ortc_factory_ = | 31 ortc_factory_ = |
34 OrtcFactory::Create(nullptr, nullptr, &fake_network_manager_, nullptr, | 32 OrtcFactory::Create(nullptr, nullptr, &fake_network_manager_, nullptr, |
35 nullptr, | 33 nullptr, |
36 std::unique_ptr<cricket::MediaEngineInterface>( | 34 std::unique_ptr<cricket::MediaEngineInterface>( |
37 new cricket::FakeMediaEngine())) | 35 new cricket::FakeMediaEngine())) |
38 .MoveValue(); | 36 .MoveValue(); |
39 } | 37 } |
40 | 38 |
41 protected: | 39 protected: |
42 // Uses a single pre-made FakePacketTransport, so shouldn't be called twice in | 40 // Uses a single pre-made FakePacketTransport, so shouldn't be called twice in |
43 // the same test. | 41 // the same test. |
44 std::unique_ptr<RtpTransportInterface> | 42 std::unique_ptr<RtpTransportInterface> |
45 CreateRtpTransportWithFakePacketTransport() { | 43 CreateRtpTransportWithFakePacketTransport() { |
46 return ortc_factory_ | 44 return ortc_factory_ |
47 ->CreateRtpTransport(MakeRtcpMuxParameters(), &fake_packet_transport_, | 45 ->CreateRtpTransport(MakeRtcpMuxParameters(), &fake_packet_transport_, |
48 nullptr, nullptr) | 46 nullptr, nullptr) |
49 .MoveValue(); | 47 .MoveValue(); |
50 } | 48 } |
51 | 49 |
52 rtc::PhysicalSocketServer physical_socket_server_; | |
53 rtc::VirtualSocketServer virtual_socket_server_; | 50 rtc::VirtualSocketServer virtual_socket_server_; |
54 rtc::AutoSocketServerThread thread_; | 51 rtc::AutoSocketServerThread thread_; |
55 rtc::FakeNetworkManager fake_network_manager_; | 52 rtc::FakeNetworkManager fake_network_manager_; |
56 rtc::FakePacketTransport fake_packet_transport_; | 53 rtc::FakePacketTransport fake_packet_transport_; |
57 std::unique_ptr<OrtcFactoryInterface> ortc_factory_; | 54 std::unique_ptr<OrtcFactoryInterface> ortc_factory_; |
58 }; | 55 }; |
59 | 56 |
60 TEST_F(OrtcFactoryTest, CanCreateMultipleRtpTransportControllers) { | 57 TEST_F(OrtcFactoryTest, CanCreateMultipleRtpTransportControllers) { |
61 auto controller_result1 = ortc_factory_->CreateRtpTransportController(); | 58 auto controller_result1 = ortc_factory_->CreateRtpTransportController(); |
62 EXPECT_TRUE(controller_result1.ok()); | 59 EXPECT_TRUE(controller_result1.ok()); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
249 TEST_F(OrtcFactoryTest, CreateSendersOrReceieversWithNullTransport) { | 246 TEST_F(OrtcFactoryTest, CreateSendersOrReceieversWithNullTransport) { |
250 auto sender_result = | 247 auto sender_result = |
251 ortc_factory_->CreateRtpSender(cricket::MEDIA_TYPE_AUDIO, nullptr); | 248 ortc_factory_->CreateRtpSender(cricket::MEDIA_TYPE_AUDIO, nullptr); |
252 EXPECT_EQ(RTCErrorType::INVALID_PARAMETER, sender_result.error().type()); | 249 EXPECT_EQ(RTCErrorType::INVALID_PARAMETER, sender_result.error().type()); |
253 auto receiver_result = | 250 auto receiver_result = |
254 ortc_factory_->CreateRtpReceiver(cricket::MEDIA_TYPE_AUDIO, nullptr); | 251 ortc_factory_->CreateRtpReceiver(cricket::MEDIA_TYPE_AUDIO, nullptr); |
255 EXPECT_EQ(RTCErrorType::INVALID_PARAMETER, receiver_result.error().type()); | 252 EXPECT_EQ(RTCErrorType::INVALID_PARAMETER, receiver_result.error().type()); |
256 } | 253 } |
257 | 254 |
258 } // namespace webrtc | 255 } // namespace webrtc |
OLD | NEW |