package edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.ip; import org.junit.Test; import static org.junit.Assert.*; /** * * @author michael */ public class IpAddressRangeTest { @Test public void testIPv6In() { IPv6Range sut = new IPv6Range( IPv6Address.valueOf("::10"), IPv6Address.valueOf("::1:1") ); testRange( Boolean.TRUE, sut, IPv6Address.valueOf("::10"), IPv6Address.valueOf("::11"), IPv6Address.valueOf("::ff"), IPv6Address.valueOf("::1:0"), IPv6Address.valueOf("::1:1"), IPv6Address.valueOf("::1:1") ); } @Test public void testIPv6Out() { IPv6Range sut = new IPv6Range( IPv6Address.valueOf("::10"), IPv6Address.valueOf("::1:1") ); testRange( Boolean.FALSE, sut, IPv6Address.valueOf("::"), IPv6Address.valueOf("::1"), IPv6Address.valueOf("::9"), IPv6Address.valueOf("700::"), IPv6Address.valueOf("::1:2") ); } @Test public void testIPv6NotApplicable() { IPv6Range sut = new IPv6Range( IPv6Address.valueOf("::10"), IPv6Address.valueOf("::1:1") ); testRange( null, sut, IPv4Address.valueOf("1.2.3.4")); } @Test public void testIPv4In() { IPv4Range sut = new IPv4Range( IPv4Address.valueOf("127.0.0.2"), IPv4Address.valueOf("127.0.1.10")); testRange( Boolean.TRUE, sut, IPv4Address.valueOf("127.0.0.2"), IPv4Address.valueOf("127.0.0.2"), IPv4Address.valueOf("127.0.0.255"), IPv4Address.valueOf("127.0.1.2"), IPv4Address.valueOf("127.0.1.9"), IPv4Address.valueOf("127.0.1.10") ); } @Test public void testIPv4Out() { IPv4Range sut = new IPv4Range( IPv4Address.valueOf("127.0.0.2"), IPv4Address.valueOf("127.0.1.10")); testRange( Boolean.FALSE, sut, IPv4Address.valueOf("127.0.0.1"), IPv4Address.valueOf("126.0.0.2"), IPv4Address.valueOf("127.0.1.11"), IPv4Address.valueOf("237.0.1.11"), IPv4Address.valueOf("127.0.1.23") ); } @Test public void testIPv4NotApplicable() { IPv4Range sut = new IPv4Range( IPv4Address.valueOf("127.0.0.2"), IPv4Address.valueOf("127.0.1.10")); testRange( null, sut, IPv6Address.valueOf("::1") ); } @Test public void testSingleAddress() { assertTrue( new IPv4Range( IPv4Address.valueOf("127.5.5.5"), IPv4Address.valueOf("127.5.5.5")).isSingleAddress() ); assertFalse( new IPv4Range( IPv4Address.valueOf("17.5.5.5"), IPv4Address.valueOf("127.5.5.5")).isSingleAddress() ); assertTrue( new IPv6Range( IPv6Address.valueOf("::1:1"), IPv6Address.valueOf("::1:1")).isSingleAddress() ); assertFalse( new IPv6Range( IPv6Address.valueOf("::1:1"), IPv6Address.valueOf("::1:2")).isSingleAddress() ); } public void testRange( Boolean expected, IpAddressRange range, IpAddress... addresses ) { for ( IpAddress ipa : addresses ) { assertEquals( "Testing " + ipa + " in " + range, expected, range.contains(ipa)); } } }