Skip to content

Commit 128915b

Browse files
committed
Added more tests and sample data for ipGroups
1 parent d110ce2 commit 128915b

File tree

4 files changed

+73
-2
lines changed

4 files changed

+73
-2
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"alias":"localhost",
33
"name":"Localhost connections",
4-
"addresses": [ "0:0:0:0:0:0:0:1", "127.0.0.1" ]
4+
"addresses": [ "::1", "127.0.0.1" ]
55
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"alias":"singleIPv4",
3+
"name":"Single IPv4",
4+
"addresses" : ["128.0.0.7"]
5+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"alias":"singleIPv6",
3+
"name":"Single IPv6",
4+
"addresses" : ["aa:bb:cc:dd:ee:ff::1"]
5+
}

src/test/java/edu/harvard/iq/dataverse/util/json/JsonParserTest.java

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@
1414
import edu.harvard.iq.dataverse.DatasetFieldValue;
1515
import edu.harvard.iq.dataverse.DatasetVersion;
1616
import edu.harvard.iq.dataverse.Dataverse;
17-
import edu.harvard.iq.dataverse.DataverseTheme;
1817
import edu.harvard.iq.dataverse.DataverseTheme.Alignment;
1918
import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.IpGroup;
2019
import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.IpGroupProvider;
2120
import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.ip.IpAddress;
2221
import edu.harvard.iq.dataverse.authorization.groups.impl.ipaddress.ip.IpAddressRange;
22+
import edu.harvard.iq.dataverse.authorization.users.GuestUser;
23+
import edu.harvard.iq.dataverse.engine.command.DataverseRequest;
2324
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
2425
import java.io.IOException;
2526
import java.io.InputStream;
@@ -455,6 +456,66 @@ public void testIpGroupRoundTrip() {
455456

456457
}
457458

459+
@Test
460+
public void testIpGroupRoundTrip_singleIpv4Address() {
461+
462+
IpGroup original = new IpGroup();
463+
original.setDescription("Ip group description");
464+
original.setDisplayName("Test-ip-group");
465+
original.setId(42l);
466+
original.setPersistedGroupAlias("test-ip-group");
467+
original.setProvider( new IpGroupProvider(null) );
468+
469+
original.add( IpAddressRange.make(IpAddress.valueOf("1.1.1.1"), IpAddress.valueOf("1.1.1.1")) );
470+
471+
JsonObject serialized = JsonPrinter.json(original).build();
472+
473+
System.out.println( serialized.toString() );
474+
475+
IpGroup parsed = new JsonParser().parseIpGroup(serialized);
476+
477+
assertEquals( original, parsed );
478+
assertTrue( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.1.1.1")) ));
479+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.1.1.2")) ));
480+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.1.2.1")) ));
481+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.1.1.0")) ));
482+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.1.1.250")) ));
483+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("1.2.1.1")) ));
484+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("2.1.1.1")) ));
485+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce61")) ));
486+
487+
}
488+
489+
@Test
490+
public void testIpGroupRoundTrip_singleIpv6Address() {
491+
492+
IpGroup original = new IpGroup();
493+
original.setDescription("Ip group description");
494+
original.setDisplayName("Test-ip-group");
495+
original.setId(42l);
496+
original.setPersistedGroupAlias("test-ip-group");
497+
original.setProvider( new IpGroupProvider(null) );
498+
499+
original.add( IpAddressRange.make(IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce61"),
500+
IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce61")) );
501+
502+
JsonObject serialized = JsonPrinter.json(original).build();
503+
504+
System.out.println( serialized.toString() );
505+
506+
IpGroup parsed = new JsonParser().parseIpGroup(serialized);
507+
508+
assertEquals( original, parsed );
509+
assertTrue( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce61")) ));
510+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce60")) ));
511+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0ff:fe48:ce62")) ));
512+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0ff:fe47:ce61")) ));
513+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe80::22c9:d0af:fe48:ce61")) ));
514+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("fe79::22c9:d0ff:fe48:ce61")) ));
515+
assertFalse( parsed.contains( new DataverseRequest(GuestUser.get(), IpAddress.valueOf("2.1.1.1")) ));
516+
517+
}
518+
458519
JsonObject json( String s ) {
459520
return Json.createReader( new StringReader(s) ).readObject();
460521
}

0 commit comments

Comments
 (0)