Fix Ipv6Translator.arrayToIpv6Prefix to support single address block 68/8168/8
authorMarek Gradzki <[email protected]>
Wed, 23 Aug 2017 09:50:47 +0000 (11:50 +0200)
committerMarek Gradzki <[email protected]>
Mon, 28 Aug 2017 09:02:30 +0000 (11:02 +0200)
Change-Id: I91353a0c780ac2f61d15c677c25f647f826f71c3
Signed-off-by: Marek Gradzki <[email protected]>
Signed-off-by: Jan Srnicek <[email protected]>
vpp-common/vpp-translate-utils/src/main/java/io/fd/hc2vpp/common/translate/util/Ipv6Translator.java
vpp-common/vpp-translate-utils/src/test/java/io/fd/hc2vpp/common/translate/util/Ipv6TranslatorTest.java

index 664bdc3..457c172 100644 (file)
 
 package io.fd.hc2vpp.common.translate.util;
 
-import com.google.common.net.InetAddresses;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.*;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.common.base.Preconditions.checkState;
 
-import javax.annotation.Nonnull;
+import com.google.common.net.InetAddresses;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.Arrays;
-
-import static com.google.common.base.Preconditions.*;
+import javax.annotation.Nonnull;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpPrefix;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 
 /**
  * Trait providing logic for translation of ipv6-related data
@@ -73,9 +78,8 @@ public interface Ipv6Translator extends ByteDataTranslator {
     /**
      * Converts byte array to {@link Ipv6Prefix} with specified prefixLength
      */
-    default Ipv6Prefix arrayToIpv6Prefix(final byte[] address, byte prefixLength) {
+    default Ipv6Prefix arrayToIpv6Prefix(final byte[] address, int prefixLength) {
         Ipv6AddressNoZone addressPart = arrayToIpv6AddressNoZone(address);
-
         return new Ipv6Prefix(addressPart.getValue().concat("/").concat(String.valueOf(prefixLength)));
     }
 
index 3d289c7..fb4c61b 100644 (file)
 
 package io.fd.hc2vpp.common.translate.util;
 
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
 import org.junit.Test;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6AddressNoZone;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 
-import static org.junit.Assert.*;
-
 public class Ipv6TranslatorTest implements Ipv6Translator {
 
     private static final byte[] IPV6_BYTES = {32, 1, 13, -72, 10, 11, 18, -16, 0, 0, 0, 0, 0, 0, 0, 1};
@@ -61,8 +63,13 @@ public class Ipv6TranslatorTest implements Ipv6Translator {
     }
 
     @Test
-    public void testArrayToIpv6Prefix() throws Exception {
-        assertEquals(IPV6_COMPRESSED + "/64", arrayToIpv6Prefix(IPV6_BYTES, (byte) 64).getValue());
+    public void testArrayToIpv6Prefix64() throws Exception {
+        assertEquals(IPV6_COMPRESSED + "/64", arrayToIpv6Prefix(IPV6_BYTES, 64).getValue());
+    }
+
+    @Test
+    public void testArrayToIpv6Prefix128() throws Exception {
+        assertEquals(IPV6_COMPRESSED + "/128", arrayToIpv6Prefix(IPV6_BYTES, 128).getValue());
     }
 
     @Test