diff options
author | Jan Srnicek <jsrnicek@cisco.com> | 2016-10-04 16:44:47 +0200 |
---|---|---|
committer | Maros Marsalek <mmarsale@cisco.com> | 2016-10-05 11:52:37 +0000 |
commit | 5d1054b26f144948be321f30204b4b2a7cbbc03e (patch) | |
tree | 2104b21d9a2e728b8275d5d9f2a554c414db8c31 /lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java | |
parent | 512143ddd9995d16d9bb055481721fa276ccfa01 (diff) |
HONEYCOMB-138 - Lisp L2 Support
Change-Id: Idff4776a64a88be2e0a45ab1927978e40876ea92
Signed-off-by: Jan Srnicek <jsrnicek@cisco.com>
Diffstat (limited to 'lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java')
-rw-r--r-- | lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java | 90 |
1 files changed, 65 insertions, 25 deletions
diff --git a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java index f4fe52c5d..fe967e486 100644 --- a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java +++ b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VniTableCustomizerTest.java @@ -1,25 +1,34 @@ 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.junit.Assert.assertTrue; import static org.mockito.Mockito.when; +import static org.mockito.MockitoAnnotations.initMocks; import com.google.common.collect.ImmutableList; +import io.fd.honeycomb.translate.read.ReadFailedException; import io.fd.honeycomb.translate.spi.read.ReaderCustomizer; +import io.fd.honeycomb.translate.util.read.cache.exceptions.execution.i.DumpCallFailedException; import io.fd.honeycomb.vpp.test.read.ListReaderCustomizerTest; +import io.fd.vpp.jvpp.VppCallbackException; +import io.fd.vpp.jvpp.core.dto.LispEidTableVniDetails; +import io.fd.vpp.jvpp.core.dto.LispEidTableVniDetailsReplyDump; import java.util.List; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import org.junit.Before; import org.junit.Test; +import org.mockito.Mockito; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.EidTable; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.EidTableBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.VniTable; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.VniTableBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev160520.eid.table.grouping.eid.table.VniTableKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import io.fd.vpp.jvpp.core.dto.LispEidTableMapDetails; -import io.fd.vpp.jvpp.core.dto.LispEidTableMapDetailsReplyDump; - public class VniTableCustomizerTest extends ListReaderCustomizerTest<VniTable, VniTableKey, VniTableBuilder> { @@ -31,41 +40,72 @@ public class VniTableCustomizerTest extends ListReaderCustomizerTest<VniTable, V @Before public void init() { - validId = InstanceIdentifier.create(EidTable.class).child(VniTable.class, new VniTableKey(2L)); - - final LispEidTableMapDetailsReplyDump replyDump = new LispEidTableMapDetailsReplyDump(); - final LispEidTableMapDetails detail = new LispEidTableMapDetails(); - detail.dpTable = 3; - detail.vni = 2; - detail.context = 4; - replyDump.lispEidTableMapDetails = ImmutableList.of(detail); - - when(api.lispEidTableMapDump(any())).thenReturn(future(replyDump)); + validId = InstanceIdentifier.create(EidTable.class).child(VniTable.class, new VniTableKey(12L)); } @Test - public void getAllIds() throws Exception { + public void testReadAllSuccessfull() throws ReadFailedException { + whenLispEidTableVniDumpReturnValid(); final List<VniTableKey> keys = getCustomizer().getAllIds(validId, ctx); - assertEquals(1, keys.size()); + assertNotNull(keys); + assertEquals(3, keys.size()); + assertTrue(keys.contains(new VniTableKey(12L))); + assertTrue(keys.contains(new VniTableKey(14L))); + assertTrue(keys.contains(new VniTableKey(16L))); + } - final VniTableKey key = keys.get(0); - assertNotNull(key); - //due to ambigous call (long,long) vs (Object,Object) - assertEquals(2L, key.getVirtualNetworkIdentifier().longValue()); + @Test + public void testReadAllFailed() { + whenLispEidTableVniDumpThrowException(); + try { + getCustomizer().getAllIds(validId, ctx); + } catch (ReadFailedException e) { + assertTrue(e instanceof ReadFailedException); + assertTrue(e.getCause() instanceof DumpCallFailedException); + assertTrue(e.getCause().getCause() instanceof VppCallbackException); + } } @Test - public void readCurrentAttributes() throws Exception { + public void testReadAttributes() throws ReadFailedException { + whenLispEidTableVniDumpReturnValid(); VniTableBuilder builder = new VniTableBuilder(); - getCustomizer().readCurrentAttributes(validId, builder, ctx); - final VniTable table = builder.build(); + customizer.readCurrentAttributes(validId, builder, ctx); + final VniTable table = builder.build(); assertNotNull(table); - assertEquals(3L, table.getTableId().longValue()); - assertEquals(2L, table.getVirtualNetworkIdentifier().longValue()); + assertEquals(12L, table.getVirtualNetworkIdentifier().longValue()); + } + + private void whenLispEidTableVniDumpReturnValid() { + + LispEidTableVniDetailsReplyDump dump = new LispEidTableVniDetailsReplyDump(); + LispEidTableVniDetails details1 = new LispEidTableVniDetails(); + details1.vni = 14; + + LispEidTableVniDetails details2 = new LispEidTableVniDetails(); + details2.vni = 12; + + LispEidTableVniDetails details3 = new LispEidTableVniDetails(); + details3.vni = 16; + + dump.lispEidTableVniDetails = ImmutableList.of(details1, details2, details3); + + when(api.lispEidTableVniDump(Mockito.any())).thenReturn(CompletableFuture.completedFuture(dump)); + } + + private void whenLispEidTableVniDumpThrowException() { + when(api.lispEidTableVniDump(Mockito.any())) + .thenReturn(new CompletableFuture<LispEidTableVniDetailsReplyDump>() { + @Override + public LispEidTableVniDetailsReplyDump get(final long l, final TimeUnit timeUnit) + throws InterruptedException, ExecutionException, TimeoutException { + throw new ExecutionException(new VppCallbackException("lispEidTableVniDump", 1, -2)); + } + }); } @Override |