This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-net.git
The following commit(s) were added to refs/heads/master by this push:
new 749d03d4 Sort members
749d03d4 is described below
commit 749d03d44b7eac0f4a6ec6532f8b9a9ddadabc23
Author: Gary Gregory <[email protected]>
AuthorDate: Thu Mar 12 08:22:22 2026 -0400
Sort members
---
.../apache/commons/net/util/SubnetUtils6Test.java | 190 ++++++++++-----------
1 file changed, 95 insertions(+), 95 deletions(-)
diff --git a/src/test/java/org/apache/commons/net/util/SubnetUtils6Test.java
b/src/test/java/org/apache/commons/net/util/SubnetUtils6Test.java
index 51f9d3c1..066b8a68 100644
--- a/src/test/java/org/apache/commons/net/util/SubnetUtils6Test.java
+++ b/src/test/java/org/apache/commons/net/util/SubnetUtils6Test.java
@@ -37,17 +37,17 @@ class SubnetUtils6Test {
private static final BigInteger TWO = BigInteger.valueOf(2);
- @Test
- void testBasicCidr64() {
- final SubnetUtils6 utils = new SubnetUtils6("2001:db8::1/64");
- final SubnetInfo info = utils.getInfo();
-
- assertEquals(64, info.getPrefixLength());
- assertEquals("2001:db8:0:0:0:0:0:1", info.getAddress());
- assertEquals("2001:db8:0:0:0:0:0:0", info.getNetworkAddress());
- assertEquals("2001:db8:0:0:ffff:ffff:ffff:ffff",
info.getHighAddress());
- // 2^64 addresses
- assertEquals(TWO.pow(64), info.getAddressCount());
+ private static void assertEquivalentSubnets(final String... cidrs) {
+ final SubnetInfo reference = new SubnetUtils6(cidrs[0]).getInfo();
+ for (int i = 1; i < cidrs.length; i++) {
+ final SubnetInfo other = new SubnetUtils6(cidrs[i]).getInfo();
+ assertEquals(reference.getNetworkAddress(),
other.getNetworkAddress(),
+ cidrs[0] + " vs " + cidrs[i] + " network");
+ assertEquals(reference.getHighAddress(), other.getHighAddress(),
+ cidrs[0] + " vs " + cidrs[i] + " high");
+ assertEquals(reference.getAddress(), other.getAddress(),
+ cidrs[0] + " vs " + cidrs[i] + " address");
+ }
}
@Test
@@ -61,6 +61,19 @@ class SubnetUtils6Test {
assertEquals(BigInteger.ONE, info.getAddressCount());
}
+ @Test
+ void testBasicCidr64() {
+ final SubnetUtils6 utils = new SubnetUtils6("2001:db8::1/64");
+ final SubnetInfo info = utils.getInfo();
+
+ assertEquals(64, info.getPrefixLength());
+ assertEquals("2001:db8:0:0:0:0:0:1", info.getAddress());
+ assertEquals("2001:db8:0:0:0:0:0:0", info.getNetworkAddress());
+ assertEquals("2001:db8:0:0:ffff:ffff:ffff:ffff",
info.getHighAddress());
+ // 2^64 addresses
+ assertEquals(TWO.pow(64), info.getAddressCount());
+ }
+
@Test
void testCidr0() {
final SubnetUtils6 utils = new SubnetUtils6("::/0");
@@ -120,6 +133,27 @@ class SubnetUtils6Test {
assertEquals("2001:db8:0:0:0:0:0:1/64", info.getCidrSignature());
}
+ @Test
+ void testGetLowAddress() {
+ final SubnetUtils6 utils = new SubnetUtils6("2001:db8::100/120");
+ final SubnetInfo info = utils.getInfo();
+
+ // getLowAddress returns the network address (same as
getNetworkAddress)
+ assertEquals(info.getNetworkAddress(), info.getLowAddress());
+ assertEquals("2001:db8:0:0:0:0:0:100", info.getLowAddress());
+ }
+
+ @Test
+ void testHighBitAddress() {
+ final SubnetUtils6 utils = new
SubnetUtils6("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128");
+ final SubnetInfo info = utils.getInfo();
+
+ assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getAddress());
+ assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getNetworkAddress());
+ assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getHighAddress());
+ assertEquals(BigInteger.ONE, info.getAddressCount());
+ }
+
@Test
void testInvalidCidr() {
assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6(null));
@@ -131,6 +165,12 @@ class SubnetUtils6Test {
assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6("not-an-address/64"));
}
+ @Test
+ void testInvalidIPv4Address() {
+ // IPv4 addresses should be rejected
+ assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6("192.168.1.1/24"));
+ }
+
@Test
void testInvalidTwoArgConstructor() {
assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6("2001:db8::1", 129));
@@ -138,12 +178,6 @@ class SubnetUtils6Test {
assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6("not-an-address", 64));
}
- @Test
- void testInvalidIPv4Address() {
- // IPv4 addresses should be rejected
- assertThrows(IllegalArgumentException.class, () -> new
SubnetUtils6("192.168.1.1/24"));
- }
-
@Test
void testIsInRange() {
final SubnetUtils6 utils = new SubnetUtils6("2001:db8::/32");
@@ -162,15 +196,6 @@ class SubnetUtils6Test {
assertFalse(info.isInRange("::1"));
}
- @Test
- void testIsInRangeWithInvalidString() {
- final SubnetUtils6 utils = new SubnetUtils6("2001:db8::/32");
- final SubnetInfo info = utils.getInfo();
-
- assertThrows(IllegalArgumentException.class, () ->
info.isInRange("not-an-address"));
- assertThrows(IllegalArgumentException.class, () ->
info.isInRange("192.168.1.1"));
- }
-
@Test
void testIsInRangeWithBigInteger() throws UnknownHostException {
final SubnetUtils6 utils = new SubnetUtils6("2001:db8::/32");
@@ -218,6 +243,15 @@ class SubnetUtils6Test {
assertFalse(info.isInRange((Inet6Address) null));
}
+ @Test
+ void testIsInRangeWithInvalidString() {
+ final SubnetUtils6 utils = new SubnetUtils6("2001:db8::/32");
+ final SubnetInfo info = utils.getInfo();
+
+ assertThrows(IllegalArgumentException.class, () ->
info.isInRange("not-an-address"));
+ assertThrows(IllegalArgumentException.class, () ->
info.isInRange("192.168.1.1"));
+ }
+
@Test
void testLinkLocalAddress() {
final SubnetUtils6 utils = new SubnetUtils6("fe80::/10");
@@ -238,62 +272,6 @@ class SubnetUtils6Test {
assertFalse(info.isInRange("::2"));
}
- @Test
- void testToString() {
- final SubnetUtils6 utils = new SubnetUtils6("2001:db8::1/64");
- final SubnetInfo info = utils.getInfo();
- final String str = utils.toString();
-
- assertNotNull(str);
- assertTrue(str.contains("CIDR Signature"));
- assertTrue(str.contains("Network"));
- assertTrue(str.contains("First address"));
- assertTrue(str.contains("Last address"));
- assertTrue(str.contains("Address Count"));
-
- // note: The CIDR signature from toString can be fed back into the
constructor
- final String cidr = info.getCidrSignature();
- final SubnetUtils6 roundTrip = new SubnetUtils6(cidr);
- final SubnetInfo roundTripInfo = roundTrip.getInfo();
- assertEquals(info.getPrefixLength(), roundTripInfo.getPrefixLength());
- assertEquals(info.getNetworkAddress(),
roundTripInfo.getNetworkAddress());
- assertEquals(info.getHighAddress(), roundTripInfo.getHighAddress());
- assertEquals(info.getAddressCount(), roundTripInfo.getAddressCount());
- assertEquals(info.getCidrSignature(),
roundTripInfo.getCidrSignature());
- }
-
- @Test
- void testUniqueLocalAddress() {
- // ULA range is fc00::/7
- final SubnetUtils6 utils = new SubnetUtils6("fd00::/8");
- final SubnetInfo info = utils.getInfo();
-
- assertTrue(info.isInRange("fd00::1"));
- assertTrue(info.isInRange("fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
- assertFalse(info.isInRange("fc00::1")); // fc00::/8 is different from
fd00::/8
- }
-
- @Test
- void testHighBitAddress() {
- final SubnetUtils6 utils = new
SubnetUtils6("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128");
- final SubnetInfo info = utils.getInfo();
-
- assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getAddress());
- assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getNetworkAddress());
- assertEquals("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
info.getHighAddress());
- assertEquals(BigInteger.ONE, info.getAddressCount());
- }
-
- @Test
- void testGetLowAddress() {
- final SubnetUtils6 utils = new SubnetUtils6("2001:db8::100/120");
- final SubnetInfo info = utils.getInfo();
-
- // getLowAddress returns the network address (same as
getNetworkAddress)
- assertEquals(info.getNetworkAddress(), info.getLowAddress());
- assertEquals("2001:db8:0:0:0:0:0:100", info.getLowAddress());
- }
-
// All examples below are from
https://datatracker.ietf.org/doc/html/rfc5952 to verify properly
/**
* RFC 5952 Section 1: all representations of the same address must parse
identically.
@@ -387,19 +365,6 @@ class SubnetUtils6Test {
);
}
- private static void assertEquivalentSubnets(final String... cidrs) {
- final SubnetInfo reference = new SubnetUtils6(cidrs[0]).getInfo();
- for (int i = 1; i < cidrs.length; i++) {
- final SubnetInfo other = new SubnetUtils6(cidrs[i]).getInfo();
- assertEquals(reference.getNetworkAddress(),
other.getNetworkAddress(),
- cidrs[0] + " vs " + cidrs[i] + " network");
- assertEquals(reference.getHighAddress(), other.getHighAddress(),
- cidrs[0] + " vs " + cidrs[i] + " high");
- assertEquals(reference.getAddress(), other.getAddress(),
- cidrs[0] + " vs " + cidrs[i] + " address");
- }
- }
-
@Test
void testRfc5952Section5SpecialAddresses() {
final SubnetInfo loopback = new SubnetUtils6("::1/128").getInfo();
@@ -408,4 +373,39 @@ class SubnetUtils6Test {
final SubnetInfo unspecified = new SubnetUtils6("::/128").getInfo();
assertEquals("0:0:0:0:0:0:0:0", unspecified.getAddress());
}
+
+ @Test
+ void testToString() {
+ final SubnetUtils6 utils = new SubnetUtils6("2001:db8::1/64");
+ final SubnetInfo info = utils.getInfo();
+ final String str = utils.toString();
+
+ assertNotNull(str);
+ assertTrue(str.contains("CIDR Signature"));
+ assertTrue(str.contains("Network"));
+ assertTrue(str.contains("First address"));
+ assertTrue(str.contains("Last address"));
+ assertTrue(str.contains("Address Count"));
+
+ // note: The CIDR signature from toString can be fed back into the
constructor
+ final String cidr = info.getCidrSignature();
+ final SubnetUtils6 roundTrip = new SubnetUtils6(cidr);
+ final SubnetInfo roundTripInfo = roundTrip.getInfo();
+ assertEquals(info.getPrefixLength(), roundTripInfo.getPrefixLength());
+ assertEquals(info.getNetworkAddress(),
roundTripInfo.getNetworkAddress());
+ assertEquals(info.getHighAddress(), roundTripInfo.getHighAddress());
+ assertEquals(info.getAddressCount(), roundTripInfo.getAddressCount());
+ assertEquals(info.getCidrSignature(),
roundTripInfo.getCidrSignature());
+ }
+
+ @Test
+ void testUniqueLocalAddress() {
+ // ULA range is fc00::/7
+ final SubnetUtils6 utils = new SubnetUtils6("fd00::/8");
+ final SubnetInfo info = utils.getInfo();
+
+ assertTrue(info.isInRange("fd00::1"));
+ assertTrue(info.isInRange("fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"));
+ assertFalse(info.isInRange("fc00::1")); // fc00::/8 is different from
fd00::/8
+ }
}