OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | |
3 * | |
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 | |
6 * tree. An additional intellectual property rights grant can be found | |
7 * in the file PATENTS. All contributing project authors may | |
8 * be found in the AUTHORS file in the root of the source tree. | |
9 */ | |
10 | |
11 #include "voice_engine/include/voe_network.h" | |
12 | |
13 #include "test/gtest.h" | |
14 #include "voice_engine/include/voe_errors.h" | |
15 #include "voice_engine/voice_engine_fixture.h" | |
16 | |
17 namespace webrtc { | |
18 | |
19 enum { | |
20 kMinValidSizeOfRtcpPacketInBytes = 4, | |
21 kMinValidSizeOfRtpPacketInBytes = 12, | |
22 kMaxValidSizeOfRtpPacketInBytes = 1292 | |
23 }; | |
24 | |
25 // A packet with a valid header for both RTP and RTCP. | |
26 // Methods that are tested in this file are checking only packet header. | |
27 static const uint8_t kPacket[kMinValidSizeOfRtpPacketInBytes] = {0x80}; | |
28 static const uint8_t kPacketJunk[kMinValidSizeOfRtpPacketInBytes] = {}; | |
29 | |
30 static const int kNonExistingChannel = 1234; | |
31 | |
32 class VoENetworkTest : public VoiceEngineFixture { | |
33 protected: | |
34 int CreateChannelAndRegisterExternalTransport() { | |
35 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
36 int channelID = base_->CreateChannel(); | |
37 EXPECT_NE(channelID, -1); | |
38 EXPECT_EQ(0, network_->RegisterExternalTransport(channelID, transport_)); | |
39 return channelID; | |
40 } | |
41 }; | |
42 | |
43 TEST_F(VoENetworkTest, RegisterAndDeRegisterExternalTransport) { | |
44 int channelID = CreateChannelAndRegisterExternalTransport(); | |
45 EXPECT_EQ(0, network_->DeRegisterExternalTransport(channelID)); | |
46 } | |
47 | |
48 TEST_F(VoENetworkTest, | |
49 RegisterExternalTransportOnNonExistingChannelShouldFail) { | |
50 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
51 EXPECT_NE( | |
52 0, network_->RegisterExternalTransport(kNonExistingChannel, transport_)); | |
53 } | |
54 | |
55 TEST_F(VoENetworkTest, | |
56 DeRegisterExternalTransportOnNonExistingChannelShouldFail) { | |
57 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
58 EXPECT_NE(0, network_->DeRegisterExternalTransport(kNonExistingChannel)); | |
59 } | |
60 | |
61 TEST_F(VoENetworkTest, DeRegisterExternalTransportBeforeRegister) { | |
62 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
63 int channelID = base_->CreateChannel(); | |
64 EXPECT_NE(channelID, -1); | |
65 EXPECT_EQ(0, network_->DeRegisterExternalTransport(channelID)); | |
66 } | |
67 | |
68 TEST_F(VoENetworkTest, ReceivedRTPPacketWithJunkDataShouldFail) { | |
69 int channelID = CreateChannelAndRegisterExternalTransport(); | |
70 EXPECT_EQ(-1, network_->ReceivedRTPPacket(channelID, kPacketJunk, | |
71 sizeof(kPacketJunk))); | |
72 } | |
73 | |
74 TEST_F(VoENetworkTest, ReceivedRTPPacketOnNonExistingChannelShouldFail) { | |
75 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
76 EXPECT_EQ(-1, network_->ReceivedRTPPacket(kNonExistingChannel, kPacket, | |
77 sizeof(kPacket))); | |
78 } | |
79 | |
80 TEST_F(VoENetworkTest, ReceivedRTPPacketOnChannelWithoutTransportShouldFail) { | |
81 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
82 int channelID = base_->CreateChannel(); | |
83 EXPECT_NE(channelID, -1); | |
84 EXPECT_EQ(-1, | |
85 network_->ReceivedRTPPacket(channelID, kPacket, sizeof(kPacket))); | |
86 } | |
87 | |
88 TEST_F(VoENetworkTest, ReceivedTooSmallRTPPacketShouldFail) { | |
89 int channelID = CreateChannelAndRegisterExternalTransport(); | |
90 EXPECT_EQ(-1, network_->ReceivedRTPPacket( | |
91 channelID, kPacket, kMinValidSizeOfRtpPacketInBytes - 1)); | |
92 } | |
93 | |
94 TEST_F(VoENetworkTest, ReceivedTooLargeRTPPacketShouldFail) { | |
95 int channelID = CreateChannelAndRegisterExternalTransport(); | |
96 EXPECT_EQ(-1, network_->ReceivedRTPPacket( | |
97 channelID, kPacket, kMaxValidSizeOfRtpPacketInBytes + 1)); | |
98 } | |
99 | |
100 TEST_F(VoENetworkTest, ReceivedRTCPPacketOnNonExistingChannelShouldFail) { | |
101 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
102 EXPECT_EQ(-1, network_->ReceivedRTCPPacket(kNonExistingChannel, kPacket, | |
103 sizeof(kPacket))); | |
104 } | |
105 | |
106 TEST_F(VoENetworkTest, ReceivedRTCPPacketOnChannelWithoutTransportShouldFail) { | |
107 EXPECT_EQ(0, base_->Init(&adm_, apm_.get(), nullptr)); | |
108 int channelID = base_->CreateChannel(); | |
109 EXPECT_NE(channelID, -1); | |
110 EXPECT_EQ(-1, | |
111 network_->ReceivedRTCPPacket(channelID, kPacket, sizeof(kPacket))); | |
112 } | |
113 | |
114 TEST_F(VoENetworkTest, ReceivedTooSmallRTCPPacket4ShouldFail) { | |
115 int channelID = CreateChannelAndRegisterExternalTransport(); | |
116 EXPECT_EQ(-1, network_->ReceivedRTCPPacket( | |
117 channelID, kPacket, kMinValidSizeOfRtcpPacketInBytes - 1)); | |
118 } | |
119 | |
120 } // namespace webrtc | |
OLD | NEW |