From 882662c6b865ddc665d32327a20fe3592a29ef3e Mon Sep 17 00:00:00 2001 From: Jozef Gloncak Date: Tue, 1 Mar 2016 16:56:43 +0100 Subject: [PATCH] JUnit test - LispAddressUtil - toEid. Set of tests which tests direct and indirect calling of toEid method. Change-Id: Ia59350c5dddc57f3241c482edf3bfa385fdc6b14 Signed-off-by: Jozef Gloncak --- .../lisp/util/LispAddressUtilTest.java | 272 +++++++++++++++--- 1 file changed, 239 insertions(+), 33 deletions(-) diff --git a/mappingservice/lisp-proto/src/test/java/org/opendaylight/lispflowmapping/lisp/util/LispAddressUtilTest.java b/mappingservice/lisp-proto/src/test/java/org/opendaylight/lispflowmapping/lisp/util/LispAddressUtilTest.java index 492f6eb71..fc4db91ef 100644 --- a/mappingservice/lisp-proto/src/test/java/org/opendaylight/lispflowmapping/lisp/util/LispAddressUtilTest.java +++ b/mappingservice/lisp-proto/src/test/java/org/opendaylight/lispflowmapping/lisp/util/LispAddressUtilTest.java @@ -27,6 +27,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.lisp.address.types.rev151105.AsNumberAfi; 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.DistinguishedNameType; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType; 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; @@ -42,33 +43,48 @@ 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.lisp.address.address.Mac; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.service.path.ServicePath; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.MacAddress; +import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.eid.container.Eid; import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.lisp.proto.rev151105.rloc.container.Rloc; public class LispAddressUtilTest { 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 String IPV6_ADDRESS_PREFIX_TEST = "102:304:506:708:90a:b0c:d0e:f11/30"; private static final Long NUMBER_TEST = 5L; + private static final String MAC_ADDRESS_VALUE_TEST = "aa:bb:cc:dd:ee:ff"; + private static final MacAddress MAC_ADDRESS_TEST = new MacAddress("aa:bb:cc:dd:ee:ff"); + + private static final String IPV4_ADDRESS_PREFIX_VALUE_TEST = "192.168.1.2/30"; + private static final Ipv4Prefix IPV4_ADDRESS_PREFIX_TEST = new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST); + + private static final IpPrefix IP_ADDRESS_PREFIX = new IpPrefix(IPV4_ADDRESS_PREFIX_TEST); + + private static final String IPV6_ADDRESS_PREFIX_VALUE_TEST = "102:304:506:708:90a:b0c:d0e:f11/30"; + private static final Ipv6Prefix IPV6_ADDRESS_PREFIX_TEST = new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST); + 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"; - private static final Ipv4Address IPV4_ADDRESS_OBJECT_TEST = new Ipv4Address(IPV4_ADDRESS_TEST); - private static final IpAddress IP_ADDRESS_OBJECT_GENERAL_TEST = new IpAddress(IPV4_ADDRESS_OBJECT_TEST); + private static final String IPV4_ADDRESS_VALUE_TEST = "192.168.1.1"; + private static final Ipv4Address IPV4_ADDRESS_TEST = new Ipv4Address(IPV4_ADDRESS_VALUE_TEST); + private static final IpAddress IP_ADDRESS_OBJECT_GENERAL_TEST = new IpAddress(IPV4_ADDRESS_TEST); private static final SimpleAddress SIMPLE_ADDRESS_TEST = new SimpleAddress(IP_ADDRESS_OBJECT_GENERAL_TEST); 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 Ipv6Address IPV6_ADDRESS_OBJECT_TEST = new Ipv6Address("102:304:506:708:90a:b0c:d0e:f10"); + private static final String IPV6_ADDRESS_VALUE_TEST = "102:304:506:708:90a:b0c:d0e:f10"; + private static final Ipv6Address IPV6_ADDRESS_TEST = new Ipv6Address(IPV6_ADDRESS_VALUE_TEST); - private static final String IPV6_ADDRESS_TEST = "102:304:506:708:90a:b0c:d0e:f10"; private static final Short DUMMY_SERVICE_INDEX = 45; private static final Long DUMMY_SERVICE_PATH_ID_TYPE = 46L; - private static final String DISTINGUISHED_NAME_TYPE_TEST = "dummy distinguished name type"; + private static final String DISTINGUISHED_NAME_TYPE_VALUE_TEST = "dummy distinguished name type"; + private static final String DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST = MAC_ADDRESS_VALUE_TEST; + private static final DistinguishedNameType DISTINGUISHED_NAME_TYPE_TEST = new DistinguishedNameType + (DISTINGUISHED_NAME_TYPE_VALUE_TEST); private static final Long AS_NUMBER_TEST = 100L; + private static final Long INSTANCE_ID_TYPE_VALUE_TEST = 121L; + private static final Short INSTANCE_ID_TYPE_VALUE_SHORT_TEST = 122; + private static final InstanceIdType INSTANCE_ID_TYPE_TEST = new InstanceIdType(INSTANCE_ID_TYPE_VALUE_TEST); /** * Tests {@link LispAddressUtil#addressTypeFromSimpleAddress} and {@link @@ -92,7 +108,7 @@ public class LispAddressUtilTest { */ @Test public void addressFromSimpleAddressTest_asIpPrefix() { - final SimpleAddress simpleAddress = new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_TEST))); + final SimpleAddress simpleAddress = new SimpleAddress(new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST))); final Class addressClass = LispAddressUtil.addressTypeFromSimpleAddress (simpleAddress); assertEquals(Ipv4PrefixAfi.class, addressClass); @@ -109,7 +125,7 @@ public class LispAddressUtilTest { */ @Test public void addressFromSimpleAddressTest_asMacAddress() { - final SimpleAddress simpleAddress = new SimpleAddress(new MacAddress(MAC_ADDRESS_TEST)); + final SimpleAddress simpleAddress = new SimpleAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST)); final Class addressClass = LispAddressUtil.addressTypeFromSimpleAddress (simpleAddress); assertEquals(MacAfi.class, addressClass); @@ -166,7 +182,7 @@ public class LispAddressUtilTest { final Address address = LispAddressUtil.addressFromInet(ipv4InetAddress); assertTrue(address instanceof Ipv4); - assertEquals(IPV4_ADDRESS_TEST, ((Ipv4) address).getIpv4().getValue()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue()); } /** @@ -184,7 +200,7 @@ public class LispAddressUtilTest { final Address address = LispAddressUtil.addressFromInet(ipv6InetAddress); assertTrue(address instanceof Ipv6); - assertEquals(IPV6_ADDRESS_TEST, ((Ipv6) address).getIpv6().getValue()); + assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue()); } /** @@ -194,13 +210,13 @@ public class LispAddressUtilTest { */ @Test public void addressFromIpAddress_ipv4() { - final IpAddress ipv4Address = new IpAddress(IPV4_ADDRESS_OBJECT_TEST); + final IpAddress ipv4Address = new IpAddress(IPV4_ADDRESS_TEST); final Class addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv4Address); assertEquals(Ipv4Afi.class, addressClass); final Address address = LispAddressUtil.addressFromIpAddress(ipv4Address); assertTrue(address instanceof Ipv4); - assertEquals(IPV4_ADDRESS_TEST, ((Ipv4) address).getIpv4().getValue()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) address).getIpv4().getValue()); } /** @@ -210,13 +226,13 @@ public class LispAddressUtilTest { */ @Test public void addressFromIpAddress_ipv6() { - final IpAddress ipv6Address = new IpAddress(new Ipv6Address(IPV6_ADDRESS_TEST)); + final IpAddress ipv6Address = new IpAddress(new Ipv6Address(IPV6_ADDRESS_VALUE_TEST)); final Class addressClass = LispAddressUtil.addressTypeFromIpAddress(ipv6Address); assertEquals(Ipv6Afi.class, addressClass); final Address address = LispAddressUtil.addressFromIpAddress(ipv6Address); assertTrue(address instanceof Ipv6); - assertEquals(IPV6_ADDRESS_TEST, ((Ipv6) address).getIpv6().getValue()); + assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) address).getIpv6().getValue()); } /** @@ -240,14 +256,14 @@ public class LispAddressUtilTest { */ @Test public void addressFromIpPrefix_ipv4() { - IpPrefix ipv4Prefix = new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_TEST)); + IpPrefix ipv4Prefix = new IpPrefix(new Ipv4Prefix(IPV4_ADDRESS_PREFIX_VALUE_TEST)); final Class addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv4Prefix); assertEquals(Ipv4PrefixAfi.class, addressClass); final Address address = LispAddressUtil.addressFromIpPrefix(ipv4Prefix); assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address. types.rev151105.lisp.address.address.Ipv4Prefix); - assertEquals(IPV4_ADDRESS_PREFIX_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp. + assertEquals(IPV4_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp. address.types.rev151105.lisp.address.address.Ipv4Prefix) address).getIpv4Prefix().getValue()); } @@ -258,14 +274,14 @@ public class LispAddressUtilTest { */ @Test public void addressFromIpPrefix_ipv6() { - IpPrefix ipv6Address = new IpPrefix(new Ipv6Prefix(IPV6_ADDRESS_PREFIX_TEST)); + IpPrefix ipv6Address = new IpPrefix(new Ipv6Prefix(IPV6_ADDRESS_PREFIX_VALUE_TEST)); final Class addressClass = LispAddressUtil.addressTypeFromIpPrefix(ipv6Address); assertEquals(Ipv6PrefixAfi.class, addressClass); final Address address = LispAddressUtil.addressFromIpPrefix(ipv6Address); assertTrue(address instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address .types.rev151105.lisp.address.address.Ipv6Prefix); - assertEquals(IPV6_ADDRESS_PREFIX_TEST, + assertEquals(IPV6_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp .address.address.Ipv6Prefix) address).getIpv6Prefix().getValue()); } @@ -289,9 +305,9 @@ public class LispAddressUtilTest { */ @Test public void addressFromMacAddress_mac() { - final Address address = LispAddressUtil.addressFromMacAddress(new MacAddress(MAC_ADDRESS_TEST)); + final Address address = LispAddressUtil.addressFromMacAddress(new MacAddress(MAC_ADDRESS_VALUE_TEST)); assertTrue(address instanceof Mac); - assertEquals(MAC_ADDRESS_TEST, ((Mac) address).getMac().getValue()); + assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac) address).getMac().getValue()); } /** @@ -321,7 +337,7 @@ public class LispAddressUtilTest { assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address .types.rev151105.lisp.address.address.ServicePath); assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address - .types.rev151105.lisp.address.address.ServicePath)testedAddress).getServicePath()); + .types.rev151105.lisp.address.address.ServicePath) testedAddress).getServicePath()); } /** @@ -338,11 +354,11 @@ public class LispAddressUtilTest { */ @Test public void addressFromDistinguishedNameTest_withDistinguishedName() { - final DistinguishedNameType distinguishedNameType = new DistinguishedNameType(DISTINGUISHED_NAME_TYPE_TEST); + final DistinguishedNameType distinguishedNameType = new DistinguishedNameType(DISTINGUISHED_NAME_TYPE_VALUE_TEST); final Address testedAddress = LispAddressUtil.addressFromDistinguishedName(distinguishedNameType); assertTrue(testedAddress instanceof DistinguishedName); - assertEquals(distinguishedNameType, ((DistinguishedName)testedAddress).getDistinguishedName()); + assertEquals(distinguishedNameType, ((DistinguishedName) testedAddress).getDistinguishedName()); } /** @@ -364,7 +380,7 @@ public class LispAddressUtilTest { assertTrue(testedAddress instanceof org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp .address.types.rev151105.lisp.address.address.AsNumber); assertEquals(expectedAddress, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp - .address.types.rev151105.lisp.address.address.AsNumber)testedAddress).getAsNumber()); + .address.types.rev151105.lisp.address.address.AsNumber) testedAddress).getAsNumber()); } /** @@ -390,19 +406,209 @@ public class LispAddressUtilTest { InetAddress ipv4AddressInet = Inet4Address.getByAddress(IPV4_ADDRESS_BYTES_TEST); final Rloc rlocFromInetAddress = LispAddressUtil.toRloc(ipv4AddressInet); assertEquals(Ipv4Afi.class, rlocFromInetAddress.getAddressType()); - assertEquals(IPV4_ADDRESS_TEST, ((Ipv4)rlocFromInetAddress.getAddress()).getIpv4().getValue()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)rlocFromInetAddress.getAddress()).getIpv4().getValue()); - final Rloc rlocFromIpv4Address = LispAddressUtil.toRloc(IPV4_ADDRESS_OBJECT_TEST); + final Rloc rlocFromIpv4Address = LispAddressUtil.toRloc(IPV4_ADDRESS_TEST); assertEquals(Ipv4Afi.class, rlocFromIpv4Address.getAddressType()); - assertEquals(IPV4_ADDRESS_TEST, ((Ipv4)rlocFromIpv4Address.getAddress()).getIpv4().getValue()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)rlocFromIpv4Address.getAddress()).getIpv4().getValue()); + - final Rloc rlocFromIpv6Address = LispAddressUtil.toRloc(IPV6_ADDRESS_OBJECT_TEST); + final Rloc rlocFromIpv6Address = LispAddressUtil.toRloc(IPV6_ADDRESS_TEST); assertEquals(Ipv6Afi.class, rlocFromIpv6Address.getAddressType()); - assertEquals(IPV6_ADDRESS_TEST, ((Ipv6)rlocFromIpv6Address.getAddress()).getIpv6().getValue()); + assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6)rlocFromIpv6Address.getAddress()).getIpv6().getValue()); final Rloc rlocFromSimpleAddress = LispAddressUtil.toRloc(SIMPLE_ADDRESS_TEST); assertEquals(Ipv4Afi.class, rlocFromSimpleAddress.getAddressType()); - assertEquals(IPV4_ADDRESS_TEST, ((Ipv4)rlocFromSimpleAddress.getAddress()).getIpv4().getValue()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) rlocFromSimpleAddress.getAddress()).getIpv4().getValue()); + } + + /** + * Test {@link LispAddressUtil#asIpv4Rloc(String)} method with ipv4 or ipv6. + * Test {@link LispAddressUtil#asIpv6Rloc(String)} method with ipv4 or ipv6. + */ + @Test + public void asIpvRloc() { + final Rloc rlocFromIpV4 = LispAddressUtil.asIpv4Rloc(IPV4_ADDRESS_VALUE_TEST); + assertEquals(Ipv4Afi.class, rlocFromIpV4.getAddressType()); + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4) rlocFromIpV4.getAddress()).getIpv4().getValue()); + + final Rloc rlocFromIpV6 = LispAddressUtil.asIpv6Rloc(IPV6_ADDRESS_VALUE_TEST); + assertEquals(Ipv6Afi.class, rlocFromIpV6.getAddressType()); + assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6) rlocFromIpV6.getAddress()).getIpv6().getValue()); + } + + /** + * Test + * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)} + * - {@link LispAddressUtil#asIpv6PrefixEid(String)} + * methods. + */ + @Test + public void toEid_ipv6Prefix() { + Eid eidFromIpv6Prefix = LispAddressUtil.toEid(IPV6_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, true); + + eidFromIpv6Prefix = LispAddressUtil.asIpv6PrefixEid(IPV6_ADDRESS_PREFIX_VALUE_TEST); + verifyToEidWithIpv6Prefix(eidFromIpv6Prefix, false); + //TODO missing one method with as .... + } + + /** + * Test + * - {@link LispAddressUtil#toEid(MacAddress, InstanceIdType)} + * - {@link LispAddressUtil#asMacEid(String)} + * - {@link LispAddressUtil#asMacEid(String, long)} + * methods. + */ + @Test + public void toEid_mac() { + Eid eidFromMac = LispAddressUtil.toEid(MAC_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithMacAddress(eidFromMac, true); + + eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST); + verifyToEidWithMacAddress(eidFromMac, false); + + eidFromMac = LispAddressUtil.asMacEid(MAC_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST); + verifyToEidWithMacAddress(eidFromMac, true); + } + + /** + * Test + * - {@link LispAddressUtil#toEid(Ipv6Address, InstanceIdType)} + * - {@link LispAddressUtil#asIpv6Eid(String)} + * - {@link LispAddressUtil#asIpv6Eid(String, long)} + * methods. + */ + @Test + public void toEid_ipv6() { + Eid eidFromIpv6 = LispAddressUtil.toEid(IPV6_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithIpv6(eidFromIpv6, true); + + eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST); + verifyToEidWithIpv6(eidFromIpv6, false); + + eidFromIpv6 = LispAddressUtil.asIpv6Eid(IPV6_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST); + verifyToEidWithIpv6(eidFromIpv6, true); + } + + /** + * Test + * - {@link LispAddressUtil#toEid(Ipv4Prefix, InstanceIdType)} + * - {@link LispAddressUtil#asIpv4PrefixEid(String)} + * methods. + */ + @Test + public void toEid_ipv4Prefix() { + Eid eidFromIpv4Prefix = LispAddressUtil.toEid(IPV4_ADDRESS_PREFIX_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, true); + + eidFromIpv4Prefix = LispAddressUtil.asIpv4PrefixEid(IPV4_ADDRESS_PREFIX_VALUE_TEST); + verifyToEidWithIpv4Prefix(eidFromIpv4Prefix, false); + //TODO missing one method with as... + + } + + /** + * Test + * - {@link LispAddressUtil#toEid(Ipv4Address, InstanceIdType)} + * - {@link LispAddressUtil#asIpv4Eid(String)} + * - {@link LispAddressUtil#asIpv4Eid(String, long)} + * methods. + */ + @Test + public void toEid_ipv4() { + Eid eidFromIpv4 = LispAddressUtil.toEid(IPV4_ADDRESS_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithIpv4(eidFromIpv4, true); + + eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST); + verifyToEidWithIpv4(eidFromIpv4, false); + + eidFromIpv4 = LispAddressUtil.asIpv4Eid(IPV4_ADDRESS_VALUE_TEST, INSTANCE_ID_TYPE_VALUE_TEST); + verifyToEidWithIpv4(eidFromIpv4, true); + } + + /** + * Test + * - {@link LispAddressUtil#toEid(IpPrefix, InstanceIdType)} + * method. + */ + @Test + public void toEid_ipPrefix() { + final Eid eidFromIpPrefix = LispAddressUtil.toEid(IP_ADDRESS_PREFIX, INSTANCE_ID_TYPE_TEST); + verifyToEidWithIpv4Prefix(eidFromIpPrefix, true); + } + + /** + * Test + * - {@link LispAddressUtil#toEid(DistinguishedNameType, InstanceIdType)} + * - {@link LispAddressUtil#asDistinguishedNameEid(String)} + * - {@link LispAddressUtil#asDistinguishedNameEid(String, long)} + * methods with various input. + */ + @Test + public void toEid_distinguishedName() { + Eid eidFromDistinguishedName = LispAddressUtil.toEid(DISTINGUISHED_NAME_TYPE_TEST, INSTANCE_ID_TYPE_TEST); + verifyToEidWithDistinguishedName(eidFromDistinguishedName, true); + + eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid(DISTINGUISHED_NAME_TYPE_VALUE_TEST); + verifyToEidWithDistinguishedName(eidFromDistinguishedName, false); + + eidFromDistinguishedName = LispAddressUtil.asDistinguishedNameEid + (DISTINGUISHED_NAME_TYPE_VALUE_WITH_MAC_TEST, INSTANCE_ID_TYPE_VALUE_TEST); + verifyToEidWithMacAddress(eidFromDistinguishedName, true); + } + + private void verifyToEidWithIpv6Prefix(final Eid eidFromIpv6Prefix, final boolean isVniChecked) { + assertEquals(Ipv6PrefixAfi.class, eidFromIpv6Prefix.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6Prefix.getVirtualNetworkId()); + } + assertEquals(IPV6_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf + .lisp.address.types.rev151105.lisp.address.address.Ipv6Prefix) eidFromIpv6Prefix.getAddress()) + .getIpv6Prefix().getValue()); + } + + private void verifyToEidWithIpv4(final Eid eidFromIpv4, final boolean isVniChecked) { + assertEquals(Ipv4Afi.class, eidFromIpv4.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4.getVirtualNetworkId()); + } + assertEquals(IPV4_ADDRESS_VALUE_TEST, ((Ipv4)eidFromIpv4.getAddress()).getIpv4().getValue()); + } + + private void verifyToEidWithIpv6(final Eid eidFromIpv6, final boolean isVniChecked) { + assertEquals(Ipv6Afi.class, eidFromIpv6.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv6.getVirtualNetworkId()); + } + assertEquals(IPV6_ADDRESS_VALUE_TEST, ((Ipv6)eidFromIpv6.getAddress()).getIpv6().getValue()); + } + + private void verifyToEidWithIpv4Prefix(final Eid eidFromIpv4Prefix, final boolean isVniChecked) { + assertEquals(Ipv4PrefixAfi.class, eidFromIpv4Prefix.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromIpv4Prefix.getVirtualNetworkId()); + } + assertEquals(IPV4_ADDRESS_PREFIX_VALUE_TEST, ((org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf + .lisp.address.types.rev151105.lisp.address.address.Ipv4Prefix)eidFromIpv4Prefix.getAddress()) + .getIpv4Prefix().getValue()); + } + + private void verifyToEidWithDistinguishedName(final Eid eidFromDistinguishedName, final boolean isVniChecked) { + assertEquals(DistinguishedNameAfi.class, eidFromDistinguishedName.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromDistinguishedName.getVirtualNetworkId()); + } + assertEquals(DISTINGUISHED_NAME_TYPE_TEST, ((DistinguishedName)eidFromDistinguishedName.getAddress()) + .getDistinguishedName()); + } + + private void verifyToEidWithMacAddress(final Eid eidFromMac, final boolean isVniChecked) { + assertEquals(MacAfi.class, eidFromMac.getAddressType()); + if (isVniChecked) { + assertEquals(INSTANCE_ID_TYPE_TEST, eidFromMac.getVirtualNetworkId()); + } + assertEquals(MAC_ADDRESS_VALUE_TEST, ((Mac)eidFromMac.getAddress()).getMac().getValue()); } } -- 2.36.6