From cab279cb43bf47fb4a15987f5130c7a09df9abee Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Wed, 28 Sep 2016 09:33:32 +0200 Subject: Lisp test coverage increased to ~80% Change-Id: Id4e9072ebb8d66e532e30c1dc3bb6036bfdc9012 Signed-off-by: Jan Srnicek --- .../translate/read/MapResolverCustomizerTest.java | 87 ++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizerTest.java (limited to 'lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizerTest.java') diff --git a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizerTest.java new file mode 100644 index 000000000..be5d1c7f0 --- /dev/null +++ b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/MapResolverCustomizerTest.java @@ -0,0 +1,87 @@ +package io.fd.honeycomb.lisp.translate.read; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.when; + +import com.google.common.collect.ImmutableList; +import io.fd.honeycomb.translate.spi.read.ReaderCustomizer; +import io.fd.honeycomb.vpp.test.read.ListReaderCustomizerTest; +import java.util.List; +import org.junit.Before; +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.Ipv4AddressNoZone; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolvers; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.MapResolversBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolver; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolverBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.map.resolvers.grouping.map.resolvers.MapResolverKey; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.openvpp.jvpp.core.dto.LispMapResolverDetails; +import org.openvpp.jvpp.core.dto.LispMapResolverDetailsReplyDump; + + +public class MapResolverCustomizerTest + extends ListReaderCustomizerTest { + + private static final IpAddress IP_ADDRESS = new IpAddress(new Ipv4AddressNoZone("192.168.2.1")); + private static final IpAddress IP_ADDRESS_REVERTED = + new IpAddress(new Ipv4AddressNoZone("1.2.168.192")); + + private InstanceIdentifier emptyId; + private InstanceIdentifier validId; + + public MapResolverCustomizerTest() { + super(MapResolver.class, MapResolversBuilder.class); + } + + @Before + public void init() { + + emptyId = InstanceIdentifier.create(MapResolver.class); + validId = InstanceIdentifier.create(MapResolvers.class) + .child(MapResolver.class, new MapResolverKey(IP_ADDRESS_REVERTED)); + defineDumpData(); + } + + @Test + public void readCurrentAttributes() throws Exception { + MapResolverBuilder builder = new MapResolverBuilder(); + getCustomizer().readCurrentAttributes(validId, builder, ctx); + + MapResolver resolver = builder.build(); + assertNotNull(resolver); + assertEquals("1.2.168.192", resolver.getIpAddress().getIpv4Address().getValue()); + } + + @Test + public void getAllIds() throws Exception { + final List keys = getCustomizer().getAllIds(emptyId, ctx); + + assertEquals(1, keys.size()); + + final MapResolverKey key = keys.get(0); + assertNotNull(key); + assertEquals("192.168.2.1", new String(key.getIpAddress().getValue())); + + } + + private void defineDumpData() { + final LispMapResolverDetailsReplyDump replyDump = new LispMapResolverDetailsReplyDump(); + final LispMapResolverDetails detail = new LispMapResolverDetails(); + detail.context = 5; + detail.ipAddress = new byte[]{1, 2, -88, -64}; + detail.isIpv6 = 0; + + replyDump.lispMapResolverDetails = ImmutableList.of(detail); + + when(api.lispMapResolverDump(any())).thenReturn(future(replyDump)); + } + + @Override + protected ReaderCustomizer initCustomizer() { + return new MapResolverCustomizer(api); + } +} \ No newline at end of file -- cgit 1.2.3-korg