summaryrefslogtreecommitdiffstats
path: root/lisp/lisp2vpp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/lisp2vpp')
-rw-r--r--lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/context/util/EidMappingContext.java1
-rw-r--r--lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/context/util/EidMappingContextTest.java24
-rwxr-xr-xlisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/util/EidTranslatorTest.java180
-rwxr-xr-xlisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/write/LispCustomizerTest.java1
4 files changed, 178 insertions, 28 deletions
diff --git a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/context/util/EidMappingContext.java b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/context/util/EidMappingContext.java
index 8501a42f4..da2794950 100644
--- a/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/context/util/EidMappingContext.java
+++ b/lisp/lisp2vpp/src/main/java/io/fd/hc2vpp/lisp/context/util/EidMappingContext.java
@@ -44,7 +44,6 @@ import org.slf4j.LoggerFactory;
*/
public class EidMappingContext implements EidTranslator {
- private static final Logger LOG = LoggerFactory.getLogger(EidMappingContext.class);
private static final Collector<Mapping, ?, Mapping> SINGLE_ITEM_COLLECTOR = RWUtils.singleItemCollector();
private final KeyedInstanceIdentifier<org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.eid.mapping.context.rev160801.contexts.EidMappingContext, EidMappingContextKey>
diff --git a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/context/util/EidMappingContextTest.java b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/context/util/EidMappingContextTest.java
index e5daace93..6b63f8085 100644
--- a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/context/util/EidMappingContextTest.java
+++ b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/context/util/EidMappingContextTest.java
@@ -17,9 +17,6 @@
package io.fd.hc2vpp.lisp.context.util;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
import io.fd.hc2vpp.lisp.util.EidMappingContextHelper;
import io.fd.honeycomb.translate.MappingContext;
import org.junit.Before;
@@ -33,6 +30,9 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.local.mappings.local.mapping.Eid;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
public class EidMappingContextTest implements EidMappingContextHelper {
private static final String EID_MAPPING_CONTEXT_NAME = "eidMappingContext";
@@ -88,6 +88,24 @@ public class EidMappingContextTest implements EidMappingContextHelper {
assertEquals(mappingId, eidMappingContext.getId(remoteEid, mappingContext));
}
+ @Test
+ public void testAddEidLocal() {
+ eidMappingContext.addEid(mappingId, localEid, mappingContext);
+ final org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.eid.mapping.context.rev160801.contexts.eid.mapping.context.mappings.mapping.Eid eid = eidMappingContext.getEid(mappingId, mappingContext);
+ assertEquals(localEid.getAddress(), eid.getAddress());
+ assertEquals(localEid.getAddressType(), eid.getAddressType());
+ assertEquals(localEid.getVirtualNetworkId(), eid.getVirtualNetworkId());
+ }
+
+ @Test
+ public void testAddEidRemote() {
+ eidMappingContext.addEid(mappingId, remoteEid, mappingContext);
+ final org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.eid.mapping.context.rev160801.contexts.eid.mapping.context.mappings.mapping.Eid eid = eidMappingContext.getEid(mappingId, mappingContext);
+ assertEquals(remoteEid.getAddress(), eid.getAddress());
+ assertEquals(remoteEid.getAddressType(), eid.getAddressType());
+ assertEquals(remoteEid.getVirtualNetworkId(), eid.getVirtualNetworkId());
+ }
+
private org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.eid.mapping.context.rev160801.contexts.eid.mapping.context.mappings.mapping.Eid fromLocalToMappingEid(
Eid eid) {
return new org.opendaylight.yang.gen.v1.urn.honeycomb.params.xml.ns.yang.eid.mapping.context.rev160801.contexts.eid.mapping.context.mappings.mapping.EidBuilder()
diff --git a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/util/EidTranslatorTest.java b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/util/EidTranslatorTest.java
index c2fc51b5a..8884c7c14 100755
--- a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/util/EidTranslatorTest.java
+++ b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/util/EidTranslatorTest.java
@@ -16,45 +16,179 @@
package io.fd.hc2vpp.lisp.translate.util;
-import static io.fd.hc2vpp.lisp.translate.read.dump.executor.params.MappingsDumpParams.EidType.IPV4;
-import static io.fd.hc2vpp.lisp.translate.read.dump.executor.params.MappingsDumpParams.EidType.IPV6;
-import static io.fd.hc2vpp.lisp.translate.read.dump.executor.params.MappingsDumpParams.EidType.MAC;
-import static org.junit.Assert.assertEquals;
-
import org.junit.Test;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
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.lisp.address.types.rev151105.lisp.address.address.Ipv4Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.Ipv6Builder;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.address.MacBuilder;
+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.Ipv6Afi;
+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.lisp.address.address.*;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.adjacencies.grouping.adjacencies.adjacency.LocalEid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.adjacencies.grouping.adjacencies.adjacency.RemoteEid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.remote.mappings.remote.mapping.Eid;
+
+import java.util.Arrays;
+
+import static io.fd.hc2vpp.lisp.translate.read.dump.executor.params.MappingsDumpParams.EidType.*;
+import static org.junit.Assert.*;
public class EidTranslatorTest implements EidTranslator {
+ private static final String MAC_STRING = "bf:bf:bf:bf:bf:bf";
+ private static final Mac MAC_ADDRES = new MacBuilder().setMac(
+ new MacAddress(MAC_STRING))
+ .build();
+ private static final byte[] MAC_ADDRESS_BYTES = {-65, -65, -65, -65, -65, -65};
+ private static final byte[] IPV6_ADDRESS_BYTES = {32, 1, 13, -72, 10, 11, 18, -16, 0, 0, 0, 0, 0, 0, 0, 1};
+ private static final String IPV6_STRING = "2001:db8:a0b:12f0::1";
+ private static final Ipv6 IPV6_ADDRESS = new Ipv6Builder().setIpv6(
+ new Ipv6Address(IPV6_STRING))
+ .build();
+ private static final String IPV4_STRING = "192.168.2.1";
+ private static final Ipv4 IPV4_ADDRESS = new Ipv4Builder().setIpv4(
+ new Ipv4Address(IPV4_STRING))
+ .build();
+ private static final byte[] IPV_ADDRESS_BYTES = {-64, -88, 2, 1};
+
@Test
public void testGetEidType() {
assertEquals(IPV4, getEidType(
new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder()
- .setAddress(
- new Ipv4Builder().setIpv4(
- new Ipv4Address("192.168.2.1"))
- .build())
- .build()));
+ .setAddress(IPV4_ADDRESS).build()));
assertEquals(IPV6, getEidType(
new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder()
- .setAddress(
- new Ipv6Builder().setIpv6(
- new Ipv6Address("2001:0db8:0a0b:12f0:0000:0000:0000:0001"))
- .build())
- .build()));
+ .setAddress(IPV6_ADDRESS).build()));
assertEquals(MAC, getEidType(
new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.remote.mappings.remote.mapping.EidBuilder()
- .setAddress(
- new MacBuilder().setMac(
- new MacAddress("aa:bb:cc:dd:ee:ff"))
- .build())
- .build()));
+ .setAddress(MAC_ADDRES).build()));
+ }
+
+ @Test
+ public void testGetPrefixLength() {
+ assertEquals(32, getPrefixLength(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder()
+ .setAddress(IPV4_ADDRESS).build()));
+ assertEquals(-128, getPrefixLength(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder()
+ .setAddress(IPV6_ADDRESS).build()));
+ assertEquals(0, getPrefixLength(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder()
+ .setAddress(MAC_ADDRES).build()));
+ }
+
+ @Test
+ public void testGetArrayAsEidRemoteIpv4() {
+ final Eid eid = getArrayAsEidRemote(IPV4, IPV_ADDRESS_BYTES, 10);
+ assertEquals(IPV4_STRING, ((Ipv4) eid.getAddress()).getIpv4().getValue());
+ assertEquals(10, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv4Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsEidRemoteIpv6() {
+ final Eid eid = getArrayAsEidRemote(IPV6, IPV6_ADDRESS_BYTES, 12);
+ assertEquals(IPV6_STRING, ((Ipv6) eid.getAddress()).getIpv6().getValue());
+ assertEquals(12, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv6Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsEidRemoteMac() {
+ final Eid eid = getArrayAsEidRemote(MAC, MAC_ADDRESS_BYTES, 13);
+ assertEquals(MAC_STRING, ((Mac) eid.getAddress()).getMac().getValue());
+ assertEquals(13, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(MacAfi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsLocalEidIpv4() {
+ final LocalEid eid = getArrayAsLocalEid(IPV4, IPV_ADDRESS_BYTES, 10);
+ assertEquals(IPV4_STRING, ((Ipv4) eid.getAddress()).getIpv4().getValue());
+ assertEquals(10, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv4Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsLocalEidIpv6() {
+ final LocalEid eid = getArrayAsLocalEid(IPV6, IPV6_ADDRESS_BYTES, 12);
+ assertEquals(IPV6_STRING, ((Ipv6) eid.getAddress()).getIpv6().getValue());
+ assertEquals(12, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv6Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsLocalEidMac() {
+ final LocalEid eid = getArrayAsLocalEid(MAC, MAC_ADDRESS_BYTES, 13);
+ assertEquals(MAC_STRING, ((Mac) eid.getAddress()).getMac().getValue());
+ assertEquals(13, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(MacAfi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsRemoteEidIpv4() {
+ final RemoteEid eid = getArrayAsRemoteEid(IPV4, IPV_ADDRESS_BYTES, 10);
+ assertEquals(IPV4_STRING, ((Ipv4) eid.getAddress()).getIpv4().getValue());
+ assertEquals(10, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv4Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsRemoteEidIpv6() {
+ final RemoteEid eid = getArrayAsRemoteEid(IPV6, IPV6_ADDRESS_BYTES, 12);
+ assertEquals(IPV6_STRING, ((Ipv6) eid.getAddress()).getIpv6().getValue());
+ assertEquals(12, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(Ipv6Afi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsRemoteEidMac() {
+ final RemoteEid eid = getArrayAsRemoteEid(MAC, MAC_ADDRESS_BYTES, 13);
+ assertEquals(MAC_STRING, ((Mac) eid.getAddress()).getMac().getValue());
+ assertEquals(13, eid.getVirtualNetworkId().getValue().intValue());
+ assertEquals(MacAfi.class, eid.getAddressType());
+ }
+
+ @Test
+ public void testGetArrayAsEidStringIpv4() {
+ assertEquals(IPV4_STRING, getArrayAsEidString(IPV4, IPV_ADDRESS_BYTES));
+ }
+
+ @Test
+ public void testGetArrayAsEidStringIpv6() {
+ assertEquals(IPV6_STRING, getArrayAsEidString(IPV6, IPV6_ADDRESS_BYTES));
+ }
+
+ @Test
+ public void testGetArrayAsEidStringMac() {
+ assertEquals(MAC_STRING, getArrayAsEidString(MAC, MAC_ADDRESS_BYTES));
+ }
+
+ @Test
+ public void testResolveByteArrayIpv4() {
+ assertTrue(Arrays.equals(IPV_ADDRESS_BYTES, resolveByteArray(IPV4, IPV4_ADDRESS)));
+ }
+
+ @Test
+ public void testResolveByteArrayIpv6() {
+ assertTrue(Arrays.equals(IPV6_ADDRESS_BYTES, resolveByteArray(IPV6, IPV6_ADDRESS)));
+ }
+
+ @Test
+ public void testResolveByteArrayMac() {
+ assertTrue(Arrays.equals(MAC_ADDRESS_BYTES, resolveByteArray(MAC, MAC_ADDRES)));
+ }
+
+ @Test
+ public void testCompareAddressesPositive() {
+ assertTrue(compareAddresses(MAC_ADDRES, MAC_ADDRES));
+ assertTrue(compareAddresses(IPV4_ADDRESS, IPV4_ADDRESS));
+ assertTrue(compareAddresses(IPV6_ADDRESS, IPV6_ADDRESS));
+ }
+
+ @Test
+ public void testCompareAddressesNegative() {
+ assertFalse(compareAddresses(MAC_ADDRES, IPV6_ADDRESS));
+ assertFalse(compareAddresses(IPV4_ADDRESS, IPV6_ADDRESS));
+ assertFalse(compareAddresses(IPV4_ADDRESS, MAC_ADDRES));
}
}
diff --git a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/write/LispCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/write/LispCustomizerTest.java
index 0050d956a..e65aba586 100755
--- a/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/write/LispCustomizerTest.java
+++ b/lisp/lisp2vpp/src/test/java/io/fd/hc2vpp/lisp/translate/write/LispCustomizerTest.java
@@ -32,7 +32,6 @@ import org.mockito.ArgumentCaptor;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.Lisp;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev161214.LispBuilder;
-
public class LispCustomizerTest extends WriterCustomizerTest {
private LispCustomizer customizer;