X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fsal-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fsal%2Fconnect%2Fnetconf%2Fsal%2FNetconfDeviceDataBrokerTest.java;h=3e21a60279d021d768e6f303f50ccc2171d9d214;hb=c894986ef8b0b40d7457c8c0c54a656ea0e9a521;hp=c32f4fea3339fa1a676fa7d49d1fd23d5a3200be;hpb=94717604b088b3067fc128ec7632fdcb2a80a84b;p=netconf.git diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceDataBrokerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceDataBrokerTest.java index c32f4fea33..3e21a60279 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceDataBrokerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceDataBrokerTest.java @@ -7,28 +7,28 @@ */ package org.opendaylight.netconf.sal.connect.netconf.sal; -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.Mockito.doReturn; import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_GET_QNAME; -import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.toPath; -import com.google.common.collect.Lists; -import com.google.common.util.concurrent.Futures; import java.net.InetSocketAddress; import java.util.Arrays; +import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.Test; +import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcService; -import org.opendaylight.controller.md.sal.dom.spi.DefaultDOMRpcResult; +import org.mockito.junit.MockitoJUnitRunner; +import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeReadTransaction; +import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; +import org.opendaylight.mdsal.dom.api.DOMRpcService; +import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.sal.tx.AbstractWriteTx; import org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateRunningTx; @@ -36,52 +36,57 @@ import org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteCandidateTx; import org.opendaylight.netconf.sal.connect.netconf.sal.tx.WriteRunningTx; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.extension.rev131210.$YangModuleInfoImpl; -import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.IetfNetconfService; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.extension.rev131210.NetconfTcp; +import org.opendaylight.yangtools.rcf8528.data.util.EmptyMountPointContext; +import org.opendaylight.yangtools.util.concurrent.FluentFutures; +import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; +@RunWith(MockitoJUnitRunner.class) public class NetconfDeviceDataBrokerTest { + private static EffectiveModelContext SCHEMA_CONTEXT; @Mock private DOMRpcService rpcService; - private SchemaContext schemaContext; private NetconfDeviceDataBroker dataBroker; + @BeforeClass + public static void beforeClass() { + SCHEMA_CONTEXT = BindingRuntimeHelpers.createEffectiveModel(IetfNetconfService.class, NetconfTcp.class); + } + + @AfterClass + public static void afterClass() { + SCHEMA_CONTEXT = null; + } + @Before public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - final ModuleInfoBackedContext moduleInfoBackedContext = ModuleInfoBackedContext.create(); - moduleInfoBackedContext.addModuleInfos( - Lists.newArrayList( - $YangModuleInfoImpl.getInstance(), - org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.$YangModuleInfoImpl.getInstance())); - schemaContext = moduleInfoBackedContext.tryToCreateSchemaContext().get(); - DOMRpcResult result = new DefaultDOMRpcResult(); - when(rpcService.invokeRpc(any(SchemaPath.class), any(NormalizedNode.class))).thenReturn(Futures.immediateCheckedFuture(result)); - + doReturn(FluentFutures.immediateFluentFuture(new DefaultDOMRpcResult())).when(rpcService) + .invokeRpc(any(QName.class), any(ContainerNode.class)); dataBroker = getDataBroker(NetconfMessageTransformUtil.NETCONF_CANDIDATE_URI.toString()); } @Test public void testNewReadOnlyTransaction() throws Exception { - final DOMDataReadOnlyTransaction tx = dataBroker.newReadOnlyTransaction(); + final DOMDataTreeReadTransaction tx = dataBroker.newReadOnlyTransaction(); tx.read(LogicalDatastoreType.OPERATIONAL, null); - verify(rpcService).invokeRpc(eq(toPath(NETCONF_GET_QNAME)), any(ContainerNode.class)); + verify(rpcService).invokeRpc(eq(NETCONF_GET_QNAME), any(ContainerNode.class)); } @Test public void testNewReadWriteTransaction() throws Exception { - final DOMDataReadWriteTransaction tx = dataBroker.newReadWriteTransaction(); + final DOMDataTreeReadWriteTransaction tx = dataBroker.newReadWriteTransaction(); tx.read(LogicalDatastoreType.OPERATIONAL, null); - verify(rpcService).invokeRpc(eq(toPath(NETCONF_GET_QNAME)), any(ContainerNode.class)); + verify(rpcService).invokeRpc(eq(NETCONF_GET_QNAME), any(ContainerNode.class)); } @Test public void testWritableRunningCandidateWriteTransaction() throws Exception { - testWriteTransaction(WriteCandidateRunningTx.class, NetconfMessageTransformUtil.NETCONF_RUNNING_WRITABLE_URI.toString(), + testWriteTransaction( + WriteCandidateRunningTx.class, NetconfMessageTransformUtil.NETCONF_RUNNING_WRITABLE_URI.toString(), NetconfMessageTransformUtil.NETCONF_CANDIDATE_URI.toString()); } @@ -95,15 +100,17 @@ public class NetconfDeviceDataBrokerTest { testWriteTransaction(WriteRunningTx.class, NetconfMessageTransformUtil.NETCONF_RUNNING_WRITABLE_URI.toString()); } - private void testWriteTransaction(Class transaction, String... capabilities) { + private void testWriteTransaction(final Class transaction, + final String... capabilities) { NetconfDeviceDataBroker db = getDataBroker(capabilities); Assert.assertEquals(transaction, db.newWriteOnlyTransaction().getClass()); } - private NetconfDeviceDataBroker getDataBroker(String... caps) { + private NetconfDeviceDataBroker getDataBroker(final String... caps) { NetconfSessionPreferences prefs = NetconfSessionPreferences.fromStrings(Arrays.asList(caps)); - final RemoteDeviceId id = new RemoteDeviceId("device-1", InetSocketAddress.createUnresolved("localhost", 17830)); - return new NetconfDeviceDataBroker(id, schemaContext, rpcService, prefs); + final RemoteDeviceId id = + new RemoteDeviceId("device-1", InetSocketAddress.createUnresolved("localhost", 17830)); + return new NetconfDeviceDataBroker(id, new EmptyMountPointContext(SCHEMA_CONTEXT), rpcService, prefs); } -} \ No newline at end of file +}