From 8c9c430823aa19912a55b0a6ccfcbbb6a1bc028d Mon Sep 17 00:00:00 2001 From: Jan Srnicek Date: Thu, 6 Oct 2016 08:54:02 +0200 Subject: HONEYCOMB-236 - Unified read/write exceptions Change-Id: Idde761d0c0c2c4d96555ef94dbdaa87fad889493 Signed-off-by: Jan Srnicek --- .../read/BridgeDomainSubtableCustomizerTest.java | 4 +-- .../read/ItrRemoteLocatorSetCustomizerTest.java | 4 +-- .../translate/read/VniTableCustomizerTest.java | 20 +++-------- .../translate/read/VrfSubtableCustomizerTest.java | 4 +-- .../dump/executor/LocatorDumpExecutorTest.java | 37 +++++++++++++------- .../dump/executor/LocatorSetsDumpExecutorTest.java | 30 +++++++++------- .../executor/MapResolversDumpExecutorTest.java | 40 ++++++++++++++-------- .../dump/executor/MappingsDumpExecutorTest.java | 38 +++++++++++++------- .../dump/executor/VniTableDumpExecutorTest.java | 37 ++++++++++++-------- 9 files changed, 122 insertions(+), 92 deletions(-) (limited to 'lisp/lisp2vpp/src/test/java/io/fd/honeycomb') diff --git a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/BridgeDomainSubtableCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/BridgeDomainSubtableCustomizerTest.java index 5902028fe..4334aea31 100644 --- a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/BridgeDomainSubtableCustomizerTest.java +++ b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/BridgeDomainSubtableCustomizerTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.fail; import io.fd.honeycomb.lisp.translate.read.trait.SubtableReaderTestCase; 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.translate.vpp.util.NamingContext; import io.fd.vpp.jvpp.VppCallbackException; import org.junit.Test; @@ -76,8 +75,7 @@ public class BridgeDomainSubtableCustomizerTest try { customizer.readCurrentAttributes(validId, builder, ctx); } catch (ReadFailedException e) { - assertTrue(e.getCause() instanceof DumpCallFailedException); - assertTrue(e.getCause().getCause() instanceof VppCallbackException); + assertTrue(e.getCause() instanceof VppCallbackException); assertNull(builder.getBridgeDomainRef()); verifyLispEidTableMapDumpNotCalled(); diff --git a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/ItrRemoteLocatorSetCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/ItrRemoteLocatorSetCustomizerTest.java index a1688ae35..1fd2a3c86 100644 --- a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/ItrRemoteLocatorSetCustomizerTest.java +++ b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/ItrRemoteLocatorSetCustomizerTest.java @@ -12,7 +12,6 @@ import static org.mockito.Mockito.when; 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.ReaderCustomizerTest; import io.fd.vpp.jvpp.VppCallbackException; import io.fd.vpp.jvpp.core.dto.LispGetMapRequestItrRlocs; @@ -85,8 +84,7 @@ public class ItrRemoteLocatorSetCustomizerTest try { getCustomizer().readCurrentAttributes(validId, builder, ctx); } catch (ReadFailedException e) { - assertTrue(e.getCause() instanceof DumpCallFailedException); - assertTrue(e.getCause().getCause() instanceof VppCallbackException); + assertTrue(e.getCause() instanceof VppCallbackException); assertNotNull(builder); assertNull(builder.getRemoteLocatorSetName()); 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 fe967e486..6ce9ea711 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 @@ -4,22 +4,18 @@ package io.fd.honeycomb.lisp.translate.read; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; 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; @@ -61,11 +57,11 @@ public class VniTableCustomizerTest extends ListReaderCustomizerTest() { - @Override - public LispEidTableVniDetailsReplyDump get(final long l, final TimeUnit timeUnit) - throws InterruptedException, ExecutionException, TimeoutException { - throw new ExecutionException(new VppCallbackException("lispEidTableVniDump", 1, -2)); - } - }); + .thenReturn(failedFuture()); } @Override diff --git a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VrfSubtableCustomizerTest.java b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VrfSubtableCustomizerTest.java index f18f349d8..955a5a01a 100644 --- a/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VrfSubtableCustomizerTest.java +++ b/lisp/lisp2vpp/src/test/java/io/fd/honeycomb/lisp/translate/read/VrfSubtableCustomizerTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.fail; import io.fd.honeycomb.lisp.translate.read.trait.SubtableReaderTestCase; 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.vpp.jvpp.VppCallbackException; import org.junit.Before; import org.junit.Test; @@ -70,8 +69,7 @@ public class VrfSubtableCustomizerTest extends SubtableReaderTestCase { @@ -32,10 +33,12 @@ public class LocatorDumpExecutorTest extends JvppDumpExecutorTest requestCaptor; + private InstanceIdentifier identifier; private LispLocatorDetailsReplyDump validDump; @Before public void init() { + identifier = InstanceIdentifier.create(LocatorSet.class); validDump = new LispLocatorDetailsReplyDump(); LispLocatorDetails detail = new LispLocatorDetails(); @@ -54,28 +57,36 @@ public class LocatorDumpExecutorTest extends JvppDumpExecutorTest { @@ -35,8 +35,11 @@ public class LocatorSetsDumpExecutorTest extends JvppDumpExecutorTest requestCaptor; + private InstanceIdentifier identifier; + @Before public void init() { + identifier = InstanceIdentifier.create(LocatorSet.class); validDump = new LispLocatorSetDetailsReplyDump(); LispLocatorSetDetails detail = new LispLocatorSetDetails(); detail.lsIndex = 2; @@ -50,26 +53,27 @@ public class LocatorSetsDumpExecutorTest extends JvppDumpExecutorTest { private LispMapResolverDetailsReplyDump validDump; + private InstanceIdentifier identifier; + @Before public void init() { + identifier = InstanceIdentifier.create(MapResolver.class); validDump = new LispMapResolverDetailsReplyDump(); final LispMapResolverDetails details = new LispMapResolverDetails(); details.isIpv6 = 0; @@ -40,25 +44,33 @@ public class MapResolversDumpExecutorTest extends JvppDumpExecutorTest { @@ -35,12 +36,15 @@ public class MappingsDumpExecutorTest extends JvppDumpExecutorTest requestCaptor; + private InstanceIdentifier identifier; + private LispEidTableDetailsReplyDump validDump; private MappingsDumpParams emptyParams; private MappingsDumpParams validParams; @Before public void init() { + identifier = InstanceIdentifier.create(LocalMapping.class); validDump = new LispEidTableDetailsReplyDump(); LispEidTableDetails detail = new LispEidTableDetails(); @@ -67,25 +71,33 @@ public class MappingsDumpExecutorTest extends JvppDumpExecutorTest { private LispEidTableVniDetailsReplyDump validDump; + private InstanceIdentifier identifier; @Before public void init() { validDump = new LispEidTableVniDetailsReplyDump(); + identifier = InstanceIdentifier.create(VniTable.class); LispEidTableVniDetails detail = new LispEidTableVniDetails(); detail.vni = 2; detail.context = 4; validDump.lispEidTableVniDetails = ImmutableList.of(detail); } - @Test(expected = DumpCallFailedException.class) - public void testExecuteDumpFail() throws DumpExecutionFailedException { + @Test + public void testExecuteDumpFail() throws Exception { doThrowFailExceptionWhen().lispEidTableVniDump(Mockito.any()); - getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS); - } + try { + getExecutor().executeDump(identifier, EntityDumpExecutor.NO_PARAMS); + } catch (ReadFailedException e) { + assertTrue(e.getCause() instanceof VppCallbackException); + return; + } + fail("Test should have thrown ReadFailedException"); + } @Test public void testExecuteDumpTimeout() throws Exception { doThrowTimeoutExceptionWhen().lispEidTableVniDump(Mockito.any()); try { - getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS); - } catch (Exception e) { - assertTrue(e instanceof DumpTimeoutException); + getExecutor().executeDump(identifier, EntityDumpExecutor.NO_PARAMS); + } catch (ReadFailedException e) { assertTrue(e.getCause() instanceof TimeoutException); return; } - fail("Test should have thrown exception"); + fail("Test should have thrown ReadFailedException"); } @Test - public void testExecuteDump() throws DumpExecutionFailedException { + public void testExecuteDump() throws Exception { doReturnResponseWhen(validDump).lispEidTableVniDump(Mockito.any()); - final LispEidTableVniDetailsReplyDump reply = getExecutor().executeDump(EntityDumpExecutor.NO_PARAMS); + final LispEidTableVniDetailsReplyDump reply = + getExecutor().executeDump(identifier, EntityDumpExecutor.NO_PARAMS); assertNotNull(reply); assertEquals(1, reply.lispEidTableVniDetails.size()); -- cgit 1.2.3-korg