1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.core5.net;
29
30 import org.junit.Assert;
31 import org.junit.Test;
32
33
34
35
36 public class TestInetAddressUtils {
37
38 @Test
39 public void testValidIPv4Address() {
40 Assert.assertTrue(InetAddressUtils.isIPv4Address("127.0.0.1"));
41 Assert.assertTrue(InetAddressUtils.isIPv4Address("192.168.0.0"));
42 Assert.assertTrue(InetAddressUtils.isIPv4Address("255.255.255.255"));
43 }
44
45 @Test
46 public void testInvalidIPv4Address() {
47 Assert.assertFalse(InetAddressUtils.isIPv4Address(" 127.0.0.1 "));
48 Assert.assertFalse(InetAddressUtils.isIPv4Address("g.ar.ba.ge"));
49 Assert.assertFalse(InetAddressUtils.isIPv4Address("192.168.0"));
50 Assert.assertFalse(InetAddressUtils.isIPv4Address("256.255.255.255"));
51 Assert.assertFalse(InetAddressUtils.isIPv4Address("0.168.0.0"));
52 }
53
54 @Test
55 public void testValidIPv6Address() {
56 Assert.assertTrue(InetAddressUtils.isIPv6StdAddress("2001:0db8:0000:0000:0000:0000:1428:57ab"));
57 Assert.assertTrue(InetAddressUtils.isIPv6StdAddress("2001:db8:0:0:0:0:1428:57ab"));
58 Assert.assertTrue(InetAddressUtils.isIPv6StdAddress("0:0:0:0:0:0:0:0"));
59 Assert.assertTrue(InetAddressUtils.isIPv6StdAddress("0:0:0:0:0:0:0:1"));
60 Assert.assertTrue(InetAddressUtils.isIPv6HexCompressedAddress("2001:0db8:0:0::1428:57ab"));
61 Assert.assertTrue(InetAddressUtils.isIPv6HexCompressedAddress("2001:0db8::1428:57ab"));
62 Assert.assertTrue(InetAddressUtils.isIPv6HexCompressedAddress("2001:db8::1428:57ab"));
63 Assert.assertTrue(InetAddressUtils.isIPv6HexCompressedAddress("::1"));
64 Assert.assertTrue(InetAddressUtils.isIPv6HexCompressedAddress("::"));
65 }
66
67 @Test
68 public void testInvalidIPv6Address() {
69 Assert.assertFalse(InetAddressUtils.isIPv6Address("2001:0db8:0000:garb:age0:0000:1428:57ab"));
70 Assert.assertFalse(InetAddressUtils.isIPv6Address("2001:0gb8:0000:0000:0000:0000:1428:57ab"));
71 Assert.assertFalse(InetAddressUtils.isIPv6StdAddress("0:0:0:0:0:0:0:0:0"));
72 Assert.assertFalse(InetAddressUtils.isIPv6StdAddress("0:0:0:0:0:0:0"));
73 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress(":1"));
74 Assert.assertFalse(InetAddressUtils.isIPv6Address("2001:0db8::0000::57ab"));
75 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1:2:3:4:5:6:7::9"));
76 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1::3:4:5:6:7:8:9"));
77 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("::3:4:5:6:7:8:9"));
78 Assert.assertFalse(InetAddressUtils.isIPv6Address(""));
79 }
80
81 @Test
82 public void testValidIPv6BracketAddress() {
83 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0db8:0000:0000:0000:0000:1428:57ab]"));
84 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[2001:db8:0:0:0:0:1428:57ab]"));
85 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[0:0:0:0:0:0:0:0]"));
86 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[0:0:0:0:0:0:0:1]"));
87 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0db8:0:0::1428:57ab]"));
88 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0db8::1428:57ab]"));
89 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[2001:db8::1428:57ab]"));
90 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[::1]"));
91
92 Assert.assertTrue(InetAddressUtils.isIPv6URLBracketedAddress("[::]"));
93 }
94
95 @Test
96 public void testInvalidIPv6BracketAddress() {
97 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("2001:0db8:0000:garb:age0:0000:1428:57ab"));
98 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0db8:0000:garb:age0:0000:1428:57ab]"));
99 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("2001:0gb8:0000:0000:0000:0000:1428:57ab"));
100 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0gb8:0000:0000:0000:0000:1428:57ab]"));
101
102 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("0:0:0:0:0:0:0:0:0"));
103 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[0:0:0:0:0:0:0:0:0]"));
104
105 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("0:0:0:0:0:0:0"));
106 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[0:0:0:0:0:0:0]"));
107 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress(":1"));
108 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[:1]"));
109
110 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("2001:0db8::0000::57ab"));
111 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[2001:0db8::0000::57ab]"));
112
113 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("1:2:3:4:5:6:7::9"));
114 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[1:2:3:4:5:6:7::9]"));
115
116 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("1::3:4:5:6:7:8:9"));
117 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[1::3:4:5:6:7:8:9]"));
118
119 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("::3:4:5:6:7:8:9"));
120 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[::3:4:5:6:7:8:9]"));
121
122 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress(""));
123 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("[]"));
124
125
126 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("::"));
127 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("::1"));
128 Assert.assertFalse(InetAddressUtils.isIPv6URLBracketedAddress("2001:db8::1428:57ab"));
129 }
130
131 @Test
132
133 public void testInvalidIPv6AddressIncorrectGroupCount() {
134 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1:2::4:5:6:7:8:9"));
135 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1:2:3:4:5:6::8:9"));
136 }
137
138 @Test
139 public void testValidIPv4MappedIPv6Address() {
140 Assert.assertTrue(InetAddressUtils.isIPv4MappedIPv64Address("::FFFF:1.2.3.4"));
141 Assert.assertTrue(InetAddressUtils.isIPv4MappedIPv64Address("::ffff:255.255.255.255"));
142 }
143
144 @Test
145 public void testInValidIPv4MappedIPv6Address() {
146 Assert.assertFalse(InetAddressUtils.isIPv4MappedIPv64Address("2001:0db8:0000:0000:0000:0000:1428:57ab"));
147 Assert.assertFalse(InetAddressUtils.isIPv4MappedIPv64Address("::ffff:1:2:3:4"));
148 }
149
150 }