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
83 public void testInvalidIPv6AddressIncorrectGroupCount() {
84 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1:2::4:5:6:7:8:9"));
85 Assert.assertFalse(InetAddressUtils.isIPv6HexCompressedAddress("1:2:3:4:5:6::8:9"));
86 }
87
88 @Test
89 public void testValidIPv4MappedIPv6Address() {
90 Assert.assertTrue(InetAddressUtils.isIPv4MappedIPv64Address("::FFFF:1.2.3.4"));
91 Assert.assertTrue(InetAddressUtils.isIPv4MappedIPv64Address("::ffff:255.255.255.255"));
92 }
93
94 @Test
95 public void testInValidIPv4MappedIPv6Address() {
96 Assert.assertFalse(InetAddressUtils.isIPv4MappedIPv64Address("2001:0db8:0000:0000:0000:0000:1428:57ab"));
97 Assert.assertFalse(InetAddressUtils.isIPv4MappedIPv64Address("::ffff:1:2:3:4"));
98 }
99
100 }