OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "net/quic/quic_address_mismatch.h" | |
6 | |
7 #include "testing/gtest/include/gtest/gtest.h" | |
8 | |
9 namespace net { | |
10 namespace test { | |
11 | |
12 // Test all cases of the GetAddressMismatch function. | |
13 TEST(QuicAddressMismatchTest, GetAddressMismatch) { | |
14 IPAddress ip4_1; | |
15 IPAddress ip4_2; | |
16 IPAddress ip6_1; | |
17 IPAddress ip6_2; | |
18 IPAddress ip4_mapped_1; | |
19 IPAddress ip4_mapped_2; | |
20 ASSERT_TRUE(ip4_1.AssignFromIPLiteral("1.2.3.4")); | |
21 ASSERT_TRUE(ip4_2.AssignFromIPLiteral("5.6.7.8")); | |
22 ASSERT_TRUE(ip6_1.AssignFromIPLiteral("1234::1")); | |
23 ASSERT_TRUE(ip6_2.AssignFromIPLiteral("1234::2")); | |
24 ip4_mapped_1 = ConvertIPv4ToIPv4MappedIPv6(ip4_1); | |
25 ip4_mapped_2 = ConvertIPv4ToIPv4MappedIPv6(ip4_2); | |
26 ASSERT_NE(ip4_1, ip4_2); | |
27 ASSERT_NE(ip6_1, ip6_2); | |
28 ASSERT_NE(ip4_mapped_1, ip4_mapped_2); | |
29 | |
30 EXPECT_EQ(-1, GetAddressMismatch(IPEndPoint(), IPEndPoint())); | |
31 EXPECT_EQ(-1, GetAddressMismatch(IPEndPoint(), IPEndPoint(ip4_1, 443))); | |
32 EXPECT_EQ(-1, GetAddressMismatch(IPEndPoint(ip4_1, 443), IPEndPoint())); | |
33 | |
34 EXPECT_EQ(QUIC_ADDRESS_AND_PORT_MATCH_V4_V4, | |
35 GetAddressMismatch(IPEndPoint(ip4_1, 443), IPEndPoint(ip4_1, 443))); | |
36 EXPECT_EQ(QUIC_ADDRESS_AND_PORT_MATCH_V4_V4, | |
37 GetAddressMismatch(IPEndPoint(ip4_1, 443), | |
38 IPEndPoint(ip4_mapped_1, 443))); | |
39 EXPECT_EQ(QUIC_ADDRESS_AND_PORT_MATCH_V4_V4, | |
40 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 443), | |
41 IPEndPoint(ip4_mapped_1, 443))); | |
42 EXPECT_EQ(QUIC_ADDRESS_AND_PORT_MATCH_V6_V6, | |
43 GetAddressMismatch(IPEndPoint(ip6_1, 443), IPEndPoint(ip6_1, 443))); | |
44 | |
45 EXPECT_EQ(QUIC_PORT_MISMATCH_V4_V4, | |
46 GetAddressMismatch(IPEndPoint(ip4_1, 80), IPEndPoint(ip4_1, 443))); | |
47 EXPECT_EQ( | |
48 QUIC_PORT_MISMATCH_V4_V4, | |
49 GetAddressMismatch(IPEndPoint(ip4_1, 80), IPEndPoint(ip4_mapped_1, 443))); | |
50 EXPECT_EQ(QUIC_PORT_MISMATCH_V4_V4, | |
51 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 80), | |
52 IPEndPoint(ip4_mapped_1, 443))); | |
53 EXPECT_EQ(QUIC_PORT_MISMATCH_V6_V6, | |
54 GetAddressMismatch(IPEndPoint(ip6_1, 80), IPEndPoint(ip6_1, 443))); | |
55 | |
56 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V4, | |
57 GetAddressMismatch(IPEndPoint(ip4_1, 443), IPEndPoint(ip4_2, 443))); | |
58 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V4, | |
59 GetAddressMismatch(IPEndPoint(ip4_1, 443), | |
60 IPEndPoint(ip4_mapped_2, 443))); | |
61 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V4, | |
62 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 443), | |
63 IPEndPoint(ip4_mapped_2, 443))); | |
64 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V4, | |
65 GetAddressMismatch(IPEndPoint(ip4_1, 80), IPEndPoint(ip4_2, 443))); | |
66 EXPECT_EQ( | |
67 QUIC_ADDRESS_MISMATCH_V4_V4, | |
68 GetAddressMismatch(IPEndPoint(ip4_1, 80), IPEndPoint(ip4_mapped_2, 443))); | |
69 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V4, | |
70 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 80), | |
71 IPEndPoint(ip4_mapped_2, 443))); | |
72 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V6_V6, | |
73 GetAddressMismatch(IPEndPoint(ip6_1, 443), IPEndPoint(ip6_2, 443))); | |
74 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V6_V6, | |
75 GetAddressMismatch(IPEndPoint(ip6_1, 80), IPEndPoint(ip6_2, 443))); | |
76 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V6, | |
77 GetAddressMismatch(IPEndPoint(ip4_1, 443), IPEndPoint(ip6_1, 443))); | |
78 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V6, | |
79 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 443), | |
80 IPEndPoint(ip6_1, 443))); | |
81 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V4_V6, | |
82 GetAddressMismatch(IPEndPoint(ip4_1, 80), IPEndPoint(ip6_1, 443))); | |
83 EXPECT_EQ( | |
84 QUIC_ADDRESS_MISMATCH_V4_V6, | |
85 GetAddressMismatch(IPEndPoint(ip4_mapped_1, 80), IPEndPoint(ip6_1, 443))); | |
86 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V6_V4, | |
87 GetAddressMismatch(IPEndPoint(ip6_1, 443), IPEndPoint(ip4_1, 443))); | |
88 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V6_V4, | |
89 GetAddressMismatch(IPEndPoint(ip6_1, 443), | |
90 IPEndPoint(ip4_mapped_1, 443))); | |
91 EXPECT_EQ(QUIC_ADDRESS_MISMATCH_V6_V4, | |
92 GetAddressMismatch(IPEndPoint(ip6_1, 80), IPEndPoint(ip4_1, 443))); | |
93 EXPECT_EQ( | |
94 QUIC_ADDRESS_MISMATCH_V6_V4, | |
95 GetAddressMismatch(IPEndPoint(ip6_1, 80), IPEndPoint(ip4_mapped_1, 443))); | |
96 } | |
97 | |
98 } // namespace test | |
99 } // namespace net | |
OLD | NEW |