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%2FKeepaliveSalFacadeResponseWaitingTest.java;h=173ba4498c50d13d073592301c73f502c1d2242a;hb=e016165a2c2580a8759e6629b1cdb1950059e36a;hp=598bfa6c6497f511ca48c8e7de46dbbf02e5c8e3;hpb=55b9310631f10d93a0cdd379838e90388ab1e4b4;p=netconf.git diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java index 598bfa6c64..173ba4498c 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/KeepaliveSalFacadeResponseWaitingTest.java @@ -7,36 +7,37 @@ */ package org.opendaylight.netconf.sal.connect.netconf.sal; +import static java.util.Objects.requireNonNull; import static org.mockito.Mockito.after; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfBaseOps.getSourceNode; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_GET_CONFIG_NODEID; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_GET_CONFIG_QNAME; -import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_RUNNING_QNAME; +import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_RUNNING_NODEID; import com.google.common.util.concurrent.SettableFuture; import java.net.InetSocketAddress; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; +import org.eclipse.jdt.annotation.NonNull; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; -import org.opendaylight.mdsal.dom.api.DOMActionService; import org.opendaylight.mdsal.dom.api.DOMNotification; import org.opendaylight.mdsal.dom.api.DOMRpcResult; import org.opendaylight.mdsal.dom.api.DOMRpcService; import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.netconf.sal.connect.api.RemoteDeviceHandler; +import org.opendaylight.netconf.sal.connect.api.RemoteDeviceServices; +import org.opendaylight.netconf.sal.connect.netconf.NetconfDeviceSchema; import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfDeviceCommunicator; import org.opendaylight.netconf.sal.connect.netconf.listener.NetconfSessionPreferences; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; -import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; @@ -45,8 +46,9 @@ public class KeepaliveSalFacadeResponseWaitingTest { private static final RemoteDeviceId REMOTE_DEVICE_ID = new RemoteDeviceId("test", new InetSocketAddress("localhost", 22)); - private static final ContainerNode KEEPALIVE_PAYLOAD = NetconfMessageTransformUtil.wrap(NETCONF_GET_CONFIG_NODEID, - getSourceNode(NETCONF_RUNNING_QNAME), NetconfMessageTransformUtil.EMPTY_FILTER); + private static final @NonNull ContainerNode KEEPALIVE_PAYLOAD = + NetconfMessageTransformUtil.wrap(NETCONF_GET_CONFIG_NODEID, + getSourceNode(NETCONF_RUNNING_NODEID), NetconfMessageTransformUtil.EMPTY_FILTER); private KeepaliveSalFacade keepaliveSalFacade; private ScheduledExecutorService executorService; @@ -85,11 +87,11 @@ public class KeepaliveSalFacadeResponseWaitingTest { //This settable future will be used to check the invokation of keepalive RPC. Should be never invoked. final SettableFuture keepaliveSettableFuture = SettableFuture.create(); - final DOMRpcResult keepaliveResult = new DefaultDOMRpcResult(Builders.containerBuilder().withNodeIdentifier( - new YangInstanceIdentifier.NodeIdentifier(NetconfMessageTransformUtil.NETCONF_RUNNING_QNAME)).build()); - keepaliveSettableFuture.set(keepaliveResult); + keepaliveSettableFuture.set(new DefaultDOMRpcResult(Builders.containerBuilder() + .withNodeIdentifier(NetconfMessageTransformUtil.NETCONF_RUNNING_NODEID) + .build())); - keepaliveSalFacade.onDeviceConnected(null, null, deviceRpc); + keepaliveSalFacade.onDeviceConnected(null, null, new RemoteDeviceServices(deviceRpc, null)); //Invoke general RPC on simulated local facade without args (or with null args). Will be returned //settableFuture variable without any set value. WaitingShaduler in keepalive sal facade should wait for any @@ -103,19 +105,18 @@ public class KeepaliveSalFacadeResponseWaitingTest { verify(deviceRpc, after(2000).never()).invokeRpc(NETCONF_GET_CONFIG_QNAME, KEEPALIVE_PAYLOAD); } - private final class LocalNetconfSalFacade implements RemoteDeviceHandler { - - private DOMRpcService localDeviceRpc; + private static final class LocalNetconfSalFacade implements RemoteDeviceHandler { + private volatile RemoteDeviceServices currentServices; @Override - public void onDeviceConnected(final MountPointContext remoteSchemaContext, - final NetconfSessionPreferences netconfSessionPreferences, final DOMRpcService currentDeviceRpc, - final DOMActionService deviceAction) { - localDeviceRpc = currentDeviceRpc; + public void onDeviceConnected(final NetconfDeviceSchema deviceSchema, + final NetconfSessionPreferences sessionPreferences, final RemoteDeviceServices services) { + currentServices = requireNonNull(services); } @Override public void onDeviceDisconnected() { + currentServices = null; } @Override @@ -131,8 +132,9 @@ public class KeepaliveSalFacadeResponseWaitingTest { } public void invokeNullRpc() { - if (localDeviceRpc != null) { - localDeviceRpc.invokeRpc(null, null); + final var local = currentServices; + if (local != null) { + local.rpcs().invokeRpc(null, null); } } }