Bug 5390 - Adding Ipv6 L3ArbitraryBitMask feature support.
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / IpConversionUtilTest.java
index 74dc0d79ee39eb0af7b43b4659c6a4dfd3c82a60..d99abfc13af78f8276e1c18eb6a467e48e72aff4 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.opendaylight.ipv6.arbitrary.bitmask.fields.rev160224.Ipv6ArbitraryMask;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
@@ -149,4 +150,81 @@ public class IpConversionUtilTest {
         dottedQuad = IpConversionUtil.extractIpv4AddressMask(new Ipv4Prefix("1.1.1.1/24"));\r
         Assert.assertEquals(dottedQuad.getValue(),"255.255.255.0");\r
     }\r
+\r
+    @Test\r
+    public void convertipv6ArbitraryMaskToByteArrayTest() {\r
+        byte[] bytes = {-5,-96,-1,-74,-1,-16,-1,-16, -1,-16,-1,-16,-1,-16,-91,85};\r
+        byte[] maskBytes = IpConversionUtil.convertIpv6ArbitraryMaskToByteArray(new Ipv6ArbitraryMask("fbA0:FFB6:FFF0:FFF0:FFF0:FFF0:FFF0:A555"));\r
+        for(int i=0; i<bytes.length;i++){\r
+            int mask = maskBytes[i];\r
+            Assert.assertEquals(bytes[i],mask);\r
+        }\r
+    }\r
+\r
+    @Test\r
+    public void createArbitraryBitMaskTest() {\r
+        byte[] bytes = {-1,-1,-1,0};\r
+        DottedQuad dottedQuad;\r
+        dottedQuad = IpConversionUtil.createArbitraryBitMask(bytes);\r
+        Assert.assertEquals(dottedQuad.getValue(),"255.255.255.0");\r
+        DottedQuad dottedQuadNull;\r
+        dottedQuadNull = IpConversionUtil.createArbitraryBitMask(null);\r
+        Assert.assertEquals(dottedQuadNull.getValue(),"255.255.255.255");\r
+    }\r
+\r
+    @Test\r
+    public void createIpv6ArbitraryBitMaskTest() {\r
+        byte[] bytes = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};\r
+        Ipv6ArbitraryMask ipv6ArbitraryMask;\r
+        ipv6ArbitraryMask = IpConversionUtil.createIpv6ArbitraryBitMask(bytes);\r
+        Assert.assertEquals(ipv6ArbitraryMask.getValue(),"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");\r
+        Ipv6ArbitraryMask ipv6ArbitraryMaskNull;\r
+        ipv6ArbitraryMaskNull = IpConversionUtil.createIpv6ArbitraryBitMask(null);\r
+        Assert.assertEquals(ipv6ArbitraryMaskNull.getValue(),"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff");\r
+    }\r
+\r
+    @Test\r
+    public void extractIpv6AddressMaskTest() {\r
+        Ipv6ArbitraryMask ipv6IpAddressMask;\r
+        Ipv6Prefix ipv6Prefix = new Ipv6Prefix("1:2:3:4:5:6:7:8/16");\r
+        ipv6IpAddressMask = IpConversionUtil.extractIpv6AddressMask(ipv6Prefix);\r
+        Assert.assertEquals(ipv6IpAddressMask.getValue(),"ffff:0:0:0:0:0:0:0");\r
+    }\r
+\r
+    @Test\r
+    public void isIpv6ArbitraryBitMaskTest() {\r
+        byte[] bytes = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};\r
+        boolean falseCase =  false;\r
+        boolean trueCase =  true;\r
+        Assert.assertEquals(falseCase,IpConversionUtil.isIpv6ArbitraryBitMask(bytes));\r
+        byte[] bytesArbitraryMask = {-1,-1,-1,-1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};\r
+        Assert.assertEquals(trueCase,IpConversionUtil.isIpv6ArbitraryBitMask(bytesArbitraryMask));\r
+        Assert.assertEquals(falseCase,IpConversionUtil.isIpv6ArbitraryBitMask(null));\r
+        byte[] bytesMask = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,0};\r
+        Assert.assertEquals(falseCase,IpConversionUtil.isIpv6ArbitraryBitMask(bytesMask));\r
+        byte[] bytesArbMask = {0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};\r
+        Assert.assertEquals(trueCase,IpConversionUtil.isIpv6ArbitraryBitMask(bytesArbMask));\r
+    }\r
+\r
+    @Test\r
+    public void extractIpv6AddressTest() {\r
+        Ipv6Address ipv6Address;\r
+        ipv6Address = IpConversionUtil.extractIpv6Address(new Ipv6Prefix("1:2:3:4:5:6:7:8/16"));\r
+        Assert.assertEquals(ipv6Address.getValue(),"1:2:3:4:5:6:7:8");\r
+    }\r
+\r
+    @Test\r
+    public void extractIpv6PrefixTest() {\r
+        int ipv6Address;\r
+        ipv6Address = IpConversionUtil.extractIpv6Prefix(new Ipv6Prefix("1:2:3:4:5:6:7:8/16"));\r
+        Assert.assertEquals(ipv6Address,16);\r
+    }\r
+\r
+    @Test\r
+    public void compressedIpv6MaskFormatTest() {\r
+        Ipv6ArbitraryMask compressedIpv6IpAddressMask;\r
+        Ipv6ArbitraryMask ipv6IpAddressMask = new Ipv6ArbitraryMask("FFFF:0000:0000:0:0:0:1001:1000");\r
+        compressedIpv6IpAddressMask = IpConversionUtil.compressedIpv6MaskFormat(ipv6IpAddressMask);\r
+        Assert.assertEquals(compressedIpv6IpAddressMask.getValue(),"FFFF::1001:1000");\r
+    }\r
 }\r