JUnit test - addressFromSimpleAddress and addressTypeFromInet. 47/35547/4
authorJozef Gloncak <jgloncak@cisco.com>
Mon, 29 Feb 2016 12:21:20 +0000 (13:21 +0100)
committerJozef Gloncak <jgloncak@cisco.com>
Mon, 29 Feb 2016 14:43:02 +0000 (15:43 +0100)
Another couple of methods from LispAddressUtil.

Change-Id: Id1eb676f314d9e3cfc8265793ab7c428202f454a
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
mappingservice/lisp-proto/src/test/java/org/opendaylight/lispflowmapping/lisp/util/LispAddressUtilTest.java

index a3e771aa14233b45263efe39c93ec132f574e374..1a22b6c12e51cc905187c61f5fac39cfd599012a 100644 (file)
@@ -9,7 +9,12 @@ package org.opendaylight.lispflowmapping.lisp.util;
 
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
 
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 import org.junit.Test;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.AsNumber;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;
@@ -20,54 +25,133 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.addres
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.DistinguishedNameAfi;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4Afi;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv4PrefixAfi;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.Ipv6Afi;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddressFamily;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.MacAfi;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.SimpleAddress;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.DistinguishedName;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Mac;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress;
 
 public class LispAddressUtilTest {
 
 
-    private static final String IPV4_ADDRESS_TEST = "192.168.1.1";
-    private static final char[] DUMMY_CHARACTER_ARRAY_TEST = new char[] {'a', 'b', 'c', 'd'};
+    private static final char[] DUMMY_CHARACTER_ARRAY_TEST = new char[]{'a', 'b', 'c', 'd'};
     private static final String MAC_ADDRESS_TEST = "aa:bb:cc:dd:ee:ff";
     private static final String IPV4_ADDRESS_PREFIX_TEST = "192.168.1.2/30";
     private static final Long NUMBER_TEST = 5L;
 
+    private static final byte[] IPV4_ADDRESS_BYTES_TEST = new byte[] {(byte) 192, (byte) 168, 1, 1};
+    private static final String IPV4_ADDRESS_TEST = "192.168.1.1";
 
-    @Test
-    public void addressTypeFromSimpleAddressTest_asAddress() {
-        final SimpleAddress simpleAddress = new SimpleAddress(DUMMY_CHARACTER_ARRAY_TEST);
-        final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
-        assertEquals(DistinguishedNameAfi.class, addressClass);
-    }
+    private static final byte[] IPV6_ADDRESS_BYTES_TEST = new byte[] {1, 2, 3, 4, 5, 6 ,7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
+    private static final String IPV6_ADDRESS_TEST = "102:304:506:708:90a:b0c:d0e:f10";
 
+
+    /**
+     * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link LispAddressUtil#addressFromSimpleAddress} methods
+     * with ipAddress
+     */
     @Test
-    public void addressTypeFromSimpleAddressTest_asAnyIpAddress() {
+    public void addressFromSimpleAddressTest_asAnyIpAddress() {
         final SimpleAddress simpleAddress = new SimpleAddress(new IpAddress(new Ipv4Address(IPV4_ADDRESS_TEST)));
         final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
         assertEquals(Ipv4Afi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
+        assertTrue(address instanceof Ipv4);
     }
 
+    /**
+     * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link LispAddressUtil#addressFromSimpleAddress} methods
+     * with ipPrefix
+     */
     @Test
-    public void addressTypeFromSimpleAddressTest_asIpPrefix() {
+    public void addressFromSimpleAddressTest_asIpPrefix() {
         final SimpleAddress simpleAddress = new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_TEST)));
         final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
         assertEquals(Ipv4PrefixAfi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
+        assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv4Prefix);
     }
 
+    /**
+     * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link LispAddressUtil#addressFromSimpleAddress} methods
+     * with mac address
+     */
     @Test
-    public void addressTypeFromSimpleAddressTest_asMacAddress() {
+    public void addressFromSimpleAddressTest_asMacAddress() {
         final SimpleAddress simpleAddress = new SimpleAddress(new MacAddress(MAC_ADDRESS_TEST));
         final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
         assertEquals(MacAfi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
+        assertTrue(address instanceof Mac);
     }
 
+    /**
+     * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link LispAddressUtil#addressFromSimpleAddress} methods
+     * with general address
+     */
     @Test
-    public void addressTypeFromSimpleAddressTest_asNumber() {
+    public void addressFromSimpleAddressTest_asAddress() {
+        final SimpleAddress simpleAddress = new SimpleAddress(DUMMY_CHARACTER_ARRAY_TEST);
+        final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
+        assertEquals(DistinguishedNameAfi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
+        assertTrue(address instanceof DistinguishedName);
+    }
+
+    /**
+     * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link LispAddressUtil#addressFromSimpleAddress} methods
+     * with address as number
+     */
+    @Test
+    public void addressFromSimpleAddressTest_asNumber() {
         final SimpleAddress simpleAddress = new SimpleAddress(new AsNumber(NUMBER_TEST));
         final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromSimpleAddress(simpleAddress);
         assertEquals(AsNumberAfi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromSimpleAddress(simpleAddress);
+        assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.AsNumber);
     }
 
+    /**
+     * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet(InetAddress)}
+     * methods with ipv4 address
+     *
+     * @throws UnknownHostException
+     */
+    @Test
+    public void addressFromInet_ipv4() throws UnknownHostException {
+        final InetAddress ipv4InetAddress = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_TEST);
+        final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv4InetAddress);
+        assertEquals(Ipv4Afi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromInet(ipv4InetAddress);
+        assertTrue(address instanceof Ipv4);
+        assertEquals(IPV4_ADDRESS_TEST, ((Ipv4) address).getIpv4().getValue());
+    }
+
+    /**
+     * Tests {@link LispAddressUtil#addressFromInet(InetAddress)} and {@link LispAddressUtil#addressTypeFromInet(InetAddress)}
+     * methods with ipv6 address
+     *
+     * @throws UnknownHostException
+     */
+    @Test
+    public void addressFromInet_ipv6() throws UnknownHostException {
+        final InetAddress ipv6InetAddress = Inet6Address.getByAddress(IPV6_ADDRESS_BYTES_TEST);
+        final Class<? extends LispAddressFamily> addressClass = LispAddressUtil.addressTypeFromInet(ipv6InetAddress);
+        assertEquals(Ipv6Afi.class, addressClass);
+
+        final Address address = LispAddressUtil.addressFromInet(ipv6InetAddress);
+        assertTrue(address instanceof Ipv6);
+        assertEquals(IPV6_ADDRESS_TEST, ((Ipv6) address).getIpv6().getValue());
+    }
 }