X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fbroker%2FGlobalDOMRpcRoutingTableEntryTest.java;h=22c76ab2d7255333a34b516602c8fe69ec18509c;hb=5e09dedf6a5423744d9d56a464adf3664459db6d;hp=f155f97bde3eb0b9267625a69a3d41a3d377a953;hpb=f2910f31928b7f29c7e3593065ba35460052c38f;p=mdsal.git diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/GlobalDOMRpcRoutingTableEntryTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/GlobalDOMRpcRoutingTableEntryTest.java index f155f97bde..22c76ab2d7 100644 --- a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/GlobalDOMRpcRoutingTableEntryTest.java +++ b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/GlobalDOMRpcRoutingTableEntryTest.java @@ -7,50 +7,59 @@ */ package org.opendaylight.mdsal.dom.broker; +import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.instanceOf; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.opendaylight.mdsal.dom.broker.TestUtils.EXCEPTION_TEXT; +import static org.opendaylight.mdsal.dom.broker.TestUtils.TEST_CONTAINER; +import static org.opendaylight.mdsal.dom.broker.TestUtils.getTestRpcImplementation; +import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; import org.junit.Test; import org.opendaylight.mdsal.dom.api.DOMRpcImplementation; import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException; +import org.opendaylight.mdsal.dom.broker.DOMRpcRouter.OperationInvocation; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.model.api.RpcDefinition; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; - -public class GlobalDOMRpcRoutingTableEntryTest extends TestUtils { +public class GlobalDOMRpcRoutingTableEntryTest { @Test - public void basicTest() throws Exception { + public void basicTest() { final Map> rpcImplementations = new HashMap<>(); final List rpcImplementation = new ArrayList<>(); final RpcDefinition rpcDefinition = mock(RpcDefinition.class); final YangInstanceIdentifier yangInstanceIdentifier = YangInstanceIdentifier.builder().build(); - doReturn(SchemaPath.ROOT).when(rpcDefinition).getPath(); + doReturn(TestModel.TEST2_QNAME).when(rpcDefinition).getQName(); final GlobalDOMRpcRoutingTableEntry globalDOMRpcRoutingTableEntry = new GlobalDOMRpcRoutingTableEntry( rpcDefinition, new HashMap<>()); rpcImplementation.add(getTestRpcImplementation()); rpcImplementations.put(yangInstanceIdentifier, rpcImplementation); - assertTrue(globalDOMRpcRoutingTableEntry.getSchemaPath().equals(SchemaPath.ROOT)); + assertEquals(TestModel.TEST2_QNAME, globalDOMRpcRoutingTableEntry.getType()); assertTrue(globalDOMRpcRoutingTableEntry.getImplementations().isEmpty()); assertFalse(globalDOMRpcRoutingTableEntry.newInstance(rpcImplementations).getImplementations().isEmpty()); assertTrue(globalDOMRpcRoutingTableEntry.newInstance(rpcImplementations).getImplementations().containsValue( rpcImplementation)); - try { - globalDOMRpcRoutingTableEntry.newInstance(rpcImplementations) - .invokeRpc(TEST_CONTAINER).checkedGet(); - fail("Expected DOMRpcImplementationNotAvailableException"); - } catch (DOMRpcImplementationNotAvailableException e) { - assertTrue(e.getMessage().contains(EXCEPTION_TEXT)); - } + final ListenableFuture future = OperationInvocation.invoke( + globalDOMRpcRoutingTableEntry.newInstance(rpcImplementations), TEST_CONTAINER); + + final ExecutionException ex = assertThrows(ExecutionException.class, () -> future.get(5, TimeUnit.SECONDS)); + final Throwable cause = ex.getCause(); + assertThat(cause, instanceOf(DOMRpcImplementationNotAvailableException.class)); + assertThat(cause.getMessage(), containsString(EXCEPTION_TEXT)); } -} \ No newline at end of file +}