OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2016 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
11 #include "webrtc/base/gunit.h" | 11 #include "webrtc/base/gunit.h" |
12 #include "webrtc/base/physicalsocketserver.h" | 12 #include "webrtc/base/physicalsocketserver.h" |
13 #include "webrtc/base/virtualsocketserver.h" | 13 #include "webrtc/base/virtualsocketserver.h" |
14 #include "webrtc/p2p/base/basicpacketsocketfactory.h" | 14 #include "webrtc/p2p/base/basicpacketsocketfactory.h" |
15 #include "webrtc/p2p/base/turnserver.h" | 15 #include "webrtc/p2p/base/turnserver.h" |
16 | 16 |
17 // NOTE: This is a work in progress. Currently this file only has tests for | 17 // NOTE: This is a work in progress. Currently this file only has tests for |
18 // TurnServerConnection, a primitive class used by TurnServer. | 18 // TurnServerConnection, a primitive class used by TurnServer. |
19 | 19 |
20 namespace cricket { | 20 namespace cricket { |
21 | 21 |
22 class TurnServerConnectionTest : public testing::Test { | 22 class TurnServerConnectionTest : public testing::Test { |
23 public: | 23 public: |
24 TurnServerConnectionTest() : vss_(&pss_), ss_scope_(&vss_) {} | 24 TurnServerConnectionTest() : vss_(&pss_), thread_(&vss_) {} |
25 | 25 |
26 void ExpectEqual(const TurnServerConnection& a, | 26 void ExpectEqual(const TurnServerConnection& a, |
27 const TurnServerConnection& b) { | 27 const TurnServerConnection& b) { |
28 EXPECT_TRUE(a == b); | 28 EXPECT_TRUE(a == b); |
29 EXPECT_FALSE(a < b); | 29 EXPECT_FALSE(a < b); |
30 EXPECT_FALSE(b < a); | 30 EXPECT_FALSE(b < a); |
31 } | 31 } |
32 | 32 |
33 void ExpectNotEqual(const TurnServerConnection& a, | 33 void ExpectNotEqual(const TurnServerConnection& a, |
34 const TurnServerConnection& b) { | 34 const TurnServerConnection& b) { |
35 EXPECT_FALSE(a == b); | 35 EXPECT_FALSE(a == b); |
36 // We don't care which is less than the other, as long as only one is less | 36 // We don't care which is less than the other, as long as only one is less |
37 // than the other. | 37 // than the other. |
38 EXPECT_TRUE((a < b) != (b < a)); | 38 EXPECT_TRUE((a < b) != (b < a)); |
39 } | 39 } |
40 | 40 |
41 protected: | 41 protected: |
42 rtc::PhysicalSocketServer pss_; | 42 rtc::PhysicalSocketServer pss_; |
43 rtc::VirtualSocketServer vss_; | 43 rtc::VirtualSocketServer vss_; |
44 rtc::SocketServerScope ss_scope_; | 44 rtc::AutoSocketServerThread thread_; |
45 // Since this is constructed after |ss_scope_|, it will pick up |ss_scope_|'s | 45 // Since this is constructed after |sct_|, it will pick up |threads_|'s |
46 // socket server. | 46 // socket server. |
47 rtc::BasicPacketSocketFactory socket_factory_; | 47 rtc::BasicPacketSocketFactory socket_factory_; |
48 }; | 48 }; |
49 | 49 |
50 TEST_F(TurnServerConnectionTest, ComparisonOperators) { | 50 TEST_F(TurnServerConnectionTest, ComparisonOperators) { |
51 std::unique_ptr<rtc::AsyncPacketSocket> socket1( | 51 std::unique_ptr<rtc::AsyncPacketSocket> socket1( |
52 socket_factory_.CreateUdpSocket(rtc::SocketAddress("1.1.1.1", 1), 0, 0)); | 52 socket_factory_.CreateUdpSocket(rtc::SocketAddress("1.1.1.1", 1), 0, 0)); |
53 std::unique_ptr<rtc::AsyncPacketSocket> socket2( | 53 std::unique_ptr<rtc::AsyncPacketSocket> socket2( |
54 socket_factory_.CreateUdpSocket(rtc::SocketAddress("2.2.2.2", 2), 0, 0)); | 54 socket_factory_.CreateUdpSocket(rtc::SocketAddress("2.2.2.2", 2), 0, 0)); |
55 TurnServerConnection connection1(socket2->GetLocalAddress(), PROTO_UDP, | 55 TurnServerConnection connection1(socket2->GetLocalAddress(), PROTO_UDP, |
56 socket1.get()); | 56 socket1.get()); |
57 TurnServerConnection connection2(socket2->GetLocalAddress(), PROTO_UDP, | 57 TurnServerConnection connection2(socket2->GetLocalAddress(), PROTO_UDP, |
58 socket1.get()); | 58 socket1.get()); |
59 TurnServerConnection connection3(socket1->GetLocalAddress(), PROTO_UDP, | 59 TurnServerConnection connection3(socket1->GetLocalAddress(), PROTO_UDP, |
60 socket2.get()); | 60 socket2.get()); |
61 TurnServerConnection connection4(socket2->GetLocalAddress(), PROTO_TCP, | 61 TurnServerConnection connection4(socket2->GetLocalAddress(), PROTO_TCP, |
62 socket1.get()); | 62 socket1.get()); |
63 ExpectEqual(connection1, connection2); | 63 ExpectEqual(connection1, connection2); |
64 ExpectNotEqual(connection1, connection3); | 64 ExpectNotEqual(connection1, connection3); |
65 ExpectNotEqual(connection1, connection4); | 65 ExpectNotEqual(connection1, connection4); |
66 } | 66 } |
67 | 67 |
68 } // namespace cricket | 68 } // namespace cricket |
OLD | NEW |