X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=restconf%2Frestconf-nb-bierman02%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FInvokeRpcMethodTest.java;h=a244ed067536d44d5aec63c3efae98ae73474a8a;hb=982e75ece2483e413befe3edd8fd90022a644f72;hp=664a00cbb0675f556f4ac82316ccaec8366d370a;hpb=5defe99f336b51d4e96473aff6de4b9e6af8cb34;p=netconf.git diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/InvokeRpcMethodTest.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/InvokeRpcMethodTest.java index 664a00cbb0..a244ed0675 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/InvokeRpcMethodTest.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/InvokeRpcMethodTest.java @@ -5,7 +5,6 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.sal.restconf.impl.test; import static org.junit.Assert.assertEquals; @@ -13,14 +12,16 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.ArgumentMatchers.isNull; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; +import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFailedFluentFuture; +import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFluentFuture; import com.google.common.base.Optional; -import com.google.common.util.concurrent.CheckedFuture; -import com.google.common.util.concurrent.Futures; import java.io.FileNotFoundException; import java.net.URI; import java.net.URISyntaxException; @@ -34,11 +35,10 @@ import javax.ws.rs.core.UriInfo; import org.junit.BeforeClass; import org.junit.Ignore; import org.junit.Test; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcException; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcImplementationNotAvailableException; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; -import org.opendaylight.controller.md.sal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils; +import org.opendaylight.mdsal.dom.api.DOMRpcImplementationNotAvailableException; +import org.opendaylight.mdsal.dom.api.DOMRpcResult; +import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.netconf.sal.restconf.impl.BrokerFacade; import org.opendaylight.netconf.sal.restconf.impl.ControllerContext; import org.opendaylight.netconf.sal.restconf.impl.RestconfImpl; @@ -56,8 +56,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeAttrBuilder; -import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeAttrBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; +import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.NormalizedNodeBuilder; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; @@ -135,13 +135,13 @@ public class InvokeRpcMethodTest { } assertNotNull(rpcInputSchemaNode); - final DataContainerNodeAttrBuilder container = + final DataContainerNodeBuilder container = Builders.containerBuilder(rpcInputSchemaNode); final QName contQName = QName.create(rpcModule.getQNameModule(), "cont"); final DataSchemaNode contSchemaNode = rpcInputSchemaNode.getDataChildByName(contQName); assertTrue(contSchemaNode instanceof ContainerSchemaNode); - final DataContainerNodeAttrBuilder contNode = + final DataContainerNodeBuilder contNode = Builders.containerBuilder((ContainerSchemaNode) contSchemaNode); final QName lfQName = QName.create(rpcModule.getQNameModule(), "lf"); @@ -158,20 +158,18 @@ public class InvokeRpcMethodTest { @Test public void testInvokeRpcWithNoPayloadRpc_FailNoErrors() { - final DOMRpcException exception = new DOMRpcImplementationNotAvailableException("testExeption"); - final CheckedFuture future = Futures.immediateFailedCheckedFuture(exception); - final QName qname = QName.create("(http://netconfcentral.org/ns/toaster?revision=2009-11-20)cancel-toast"); final SchemaPath type = SchemaPath.create(true, qname); - when(brokerFacade.invokeRpc(eq(type), any(NormalizedNode.class))).thenReturn(future); + doReturn(immediateFailedFluentFuture(new DOMRpcImplementationNotAvailableException("testExeption"))) + .when(brokerFacade).invokeRpc(eq(type), isNull()); try { this.restconfImpl.invokeRpc("toaster:cancel-toast", "", uriInfo); fail("Expected an exception to be thrown."); } catch (final RestconfDocumentedException e) { verifyRestconfDocumentedException(e, 0, ErrorType.APPLICATION, ErrorTag.OPERATION_NOT_SUPPORTED, - Optional.absent(), Optional.absent()); + Optional.absent(), Optional.absent()); } } @@ -205,20 +203,17 @@ public class InvokeRpcMethodTest { RpcResultBuilder.newWarning(RpcError.ErrorType.RPC, "in-use", "bar", "app-tag", null, null)); - final DOMRpcResult resutl = new DefaultDOMRpcResult(rpcErrors); - final CheckedFuture future = Futures.immediateCheckedFuture(resutl); - + final DOMRpcResult result = new DefaultDOMRpcResult(rpcErrors); final SchemaPath path = SchemaPath.create(true, QName.create("(http://netconfcentral.org/ns/toaster?revision=2009-11-20)cancel-toast")); - - when(brokerFacade.invokeRpc(eq(path), any(NormalizedNode.class))).thenReturn(future); + doReturn(immediateFluentFuture(result)).when(brokerFacade).invokeRpc(eq(path), isNull()); try { this.restconfImpl.invokeRpc("toaster:cancel-toast", "", uriInfo); fail("Expected an exception to be thrown."); } catch (final RestconfDocumentedException e) { verifyRestconfDocumentedException(e, 0, ErrorType.TRANSPORT, ErrorTag.OPERATION_FAILED, Optional.of("foo"), - Optional.absent()); + Optional.absent()); verifyRestconfDocumentedException(e, 1, ErrorType.RPC, ErrorTag.IN_USE, Optional.of("bar"), Optional.of("app-tag")); } @@ -228,12 +223,11 @@ public class InvokeRpcMethodTest { public void testInvokeRpcWithNoPayload_Success() { final NormalizedNode resultObj = null; final DOMRpcResult expResult = new DefaultDOMRpcResult(resultObj); - final CheckedFuture future = Futures.immediateCheckedFuture(expResult); final QName qname = QName.create("(http://netconfcentral.org/ns/toaster?revision=2009-11-20)cancel-toast"); final SchemaPath path = SchemaPath.create(true, qname); - when(brokerFacade.invokeRpc(eq(path), any(NormalizedNode.class))).thenReturn(future); + doReturn(immediateFluentFuture(expResult)).when(brokerFacade).invokeRpc(eq(path), isNull()); final NormalizedNodeContext output = this.restconfImpl.invokeRpc("toaster:cancel-toast", "", uriInfo); assertNotNull(output); @@ -249,7 +243,7 @@ public class InvokeRpcMethodTest { fail("Expected an exception"); } catch (final RestconfDocumentedException e) { verifyRestconfDocumentedException(e, 0, ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE, - Optional.absent(), Optional.absent()); + Optional.absent(), Optional.absent()); } } @@ -260,7 +254,7 @@ public class InvokeRpcMethodTest { fail("Expected an exception"); } catch (final RestconfDocumentedException e) { verifyRestconfDocumentedException(e, 0, ErrorType.RPC, ErrorTag.UNKNOWN_ELEMENT, - Optional.absent(), Optional.absent()); + Optional.absent(), Optional.absent()); } } @@ -268,7 +262,6 @@ public class InvokeRpcMethodTest { @Ignore public void testInvokeRpcMethodWithInput() { final DOMRpcResult expResult = mock(DOMRpcResult.class); - final CheckedFuture future = Futures.immediateCheckedFuture(expResult); final SchemaPath path = SchemaPath.create(true, QName.create("(http://netconfcentral.org/ns/toaster?revision=2009-11-20)make-toast")); @@ -291,14 +284,14 @@ public class InvokeRpcMethodTest { assertNotNull(rpcDef); assertNotNull(rpcInputSchemaNode); - final DataContainerNodeAttrBuilder containerBuilder = + final DataContainerNodeBuilder containerBuilder = Builders.containerBuilder(rpcInputSchemaNode); final NormalizedNodeContext payload = new NormalizedNodeContext(new InstanceIdentifierContext<>(null, rpcInputSchemaNode, null, schemaContext), containerBuilder.build()); - when(brokerFacade.invokeRpc(eq(path), any(NormalizedNode.class))).thenReturn(future); + doReturn(immediateFluentFuture(expResult)).when(brokerFacade).invokeRpc(eq(path), any(NormalizedNode.class)); final NormalizedNodeContext output = this.restconfImpl.invokeRpc("toaster:make-toast", payload, uriInfo); assertNotNull(output); @@ -314,7 +307,7 @@ public class InvokeRpcMethodTest { fail("Expected an exception."); } catch (final RestconfDocumentedException e) { verifyRestconfDocumentedException(e, 0, ErrorType.PROTOCOL, ErrorTag.INVALID_VALUE, - Optional.absent(), Optional.absent()); + Optional.absent(), Optional.absent()); } } @@ -338,21 +331,20 @@ public class InvokeRpcMethodTest { } assertNotNull(rpcDef); assertNotNull(rpcOutputSchemaNode); - final DataContainerNodeAttrBuilder containerBuilder = + final DataContainerNodeBuilder containerBuilder = Builders.containerBuilder(rpcOutputSchemaNode); final DataSchemaNode leafSchema = rpcOutputSchemaNode .getDataChildByName(QName.create(rpcModule.getQNameModule(), "textOut")); assertTrue(leafSchema instanceof LeafSchemaNode); - final NormalizedNodeAttrBuilder> leafBuilder = + final NormalizedNodeBuilder> leafBuilder = Builders.leafBuilder((LeafSchemaNode) leafSchema); leafBuilder.withValue("brm"); containerBuilder.withChild(leafBuilder.build()); final ContainerNode container = containerBuilder.build(); final DOMRpcResult result = new DefaultDOMRpcResult(container); - final CheckedFuture future = Futures.immediateCheckedFuture(result); - when(brokerFacade.invokeRpc(eq(rpcDef.getPath()), any(NormalizedNode.class))).thenReturn(future); + doReturn(immediateFluentFuture(result)).when(brokerFacade).invokeRpc(eq(rpcDef.getPath()), isNull()); final NormalizedNodeContext output = this.restconfImpl.invokeRpc("toaster:testOutput", "", uriInfo); assertNotNull(output);