Add RemoteDeviceServices
[netconf.git] / netconf / sal-netconf-connector / src / test / java / org / opendaylight / netconf / sal / connect / netconf / sal / KeepaliveSalFacadeResponseWaitingTest.java
index 2ea5c9554865ac514da56ccf6ec6d8811f09bad3..173ba4498c50d13d073592301c73f502c1d2242a 100644 (file)
@@ -7,6 +7,7 @@
  */
 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;
@@ -26,12 +27,12 @@ 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;
@@ -90,7 +91,7 @@ public class KeepaliveSalFacadeResponseWaitingTest {
             .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
@@ -105,17 +106,17 @@ public class KeepaliveSalFacadeResponseWaitingTest {
     }
 
     private static final class LocalNetconfSalFacade implements RemoteDeviceHandler {
-        private DOMRpcService localDeviceRpc;
+        private volatile RemoteDeviceServices currentServices;
 
         @Override
         public void onDeviceConnected(final NetconfDeviceSchema deviceSchema,
-                final NetconfSessionPreferences netconfSessionPreferences, final DOMRpcService currentDeviceRpc,
-                final DOMActionService deviceAction) {
-            localDeviceRpc = currentDeviceRpc;
+                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);
             }
         }
     }