Create NetconfDataTreeService with base and additional operations for netconf
[netconf.git] / netconf / sal-netconf-connector / src / test / java / org / opendaylight / netconf / sal / connect / netconf / sal / MountInstanceTest.java
index b2274d1ec73b12079dc679782ded2fe766a34807..d2f661a17cee46ebb2e5d91cfcd63d2d76f3fdba 100644 (file)
@@ -7,11 +7,10 @@
  */
 package org.opendaylight.netconf.sal.connect.netconf.sal;
 
-import static org.mockito.Matchers.any;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import com.google.common.collect.Lists;
 import java.net.InetSocketAddress;
 import org.junit.Assert;
 import org.junit.Before;
@@ -19,31 +18,34 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
-import org.opendaylight.controller.md.sal.dom.api.DOMNotification;
-import org.opendaylight.controller.md.sal.dom.api.DOMNotificationService;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
-import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext;
+import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
+import org.opendaylight.mdsal.dom.api.DOMDataBroker;
+import org.opendaylight.mdsal.dom.api.DOMMountPoint;
+import org.opendaylight.mdsal.dom.api.DOMMountPointService;
+import org.opendaylight.mdsal.dom.api.DOMNotification;
+import org.opendaylight.mdsal.dom.api.DOMNotificationService;
+import org.opendaylight.mdsal.dom.api.DOMRpcService;
+import org.opendaylight.netconf.dom.api.NetconfDataTreeService;
 import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.IetfNetconfService;
 import org.opendaylight.yangtools.concepts.ObjectRegistration;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class MountInstanceTest {
-
     private static final Logger LOG = LoggerFactory.getLogger(MountInstanceTest.class);
 
-    private static SchemaContext SCHEMA_CONTEXT;
+    private static EffectiveModelContext SCHEMA_CONTEXT;
 
     @Mock
     private DOMMountPointService service;
     @Mock
     private DOMDataBroker broker;
     @Mock
+    private NetconfDataTreeService netconfService;
+    @Mock
     private DOMRpcService rpcService;
     @Mock
     private NetconfDeviceNotificationService notificationService;
@@ -58,11 +60,7 @@ public class MountInstanceTest {
 
     @BeforeClass
     public static void suiteSetUp() throws Exception {
-        final ModuleInfoBackedContext moduleInfoBackedContext = ModuleInfoBackedContext.create();
-        moduleInfoBackedContext.addModuleInfos(Lists.newArrayList(org.opendaylight.yang.gen
-                .v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.$YangModuleInfoImpl.getInstance()));
-        SCHEMA_CONTEXT = moduleInfoBackedContext.tryToCreateSchemaContext().get();
-
+        SCHEMA_CONTEXT = BindingRuntimeHelpers.createEffectiveModel(IetfNetconfService.class);
     }
 
     @Before
@@ -77,7 +75,7 @@ public class MountInstanceTest {
 
 
     @Test
-    public void testOnTopologyDeviceConnected() throws Exception {
+    public void testOnTopologyDeviceConnected() {
         mountInstance.onTopologyDeviceConnected(SCHEMA_CONTEXT, broker, rpcService, notificationService);
         verify(mountPointBuilder).addInitialSchemaContext(SCHEMA_CONTEXT);
         verify(mountPointBuilder).addService(DOMDataBroker.class, broker);
@@ -85,6 +83,16 @@ public class MountInstanceTest {
         verify(mountPointBuilder).addService(DOMNotificationService.class, notificationService);
     }
 
+    @Test
+    public void testOnTopologyDeviceConnectedWithNetconfService() {
+        mountInstance.onTopologyDeviceConnected(SCHEMA_CONTEXT, null, netconfService, rpcService,
+                notificationService, null);
+        verify(mountPointBuilder).addInitialSchemaContext(SCHEMA_CONTEXT);
+        verify(mountPointBuilder).addService(NetconfDataTreeService.class, netconfService);
+        verify(mountPointBuilder).addService(DOMRpcService.class, rpcService);
+        verify(mountPointBuilder).addService(DOMNotificationService.class, notificationService);
+    }
+
     @Test
     public void testOnTopologyDeviceDisconnected() throws Exception {
         mountInstance.onTopologyDeviceConnected(SCHEMA_CONTEXT, broker, rpcService, notificationService);