Remove dependecies on bgpcep concepts/util
[controller.git] / opendaylight / md-sal / test / sal-rest-connector-it / src / test / java / org / opendaylight / controller / test / restconf / it / ServiceProviderController.java
index 1087da22f9b2ddcbdb54e9e441530124ba175771..a9637f867288b753991de25a205d710faae956b8 100644 (file)
@@ -1,5 +1,6 @@
 package org.opendaylight.controller.test.restconf.it;
 
+import static junit.framework.Assert.assertEquals;
 import static org.junit.Assert.*;
 import static org.ops4j.pax.exam.CoreOptions.junitBundles;
 import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
@@ -8,14 +9,26 @@ import static org.ops4j.pax.exam.CoreOptions.systemPackages;
 import static org.ops4j.pax.exam.CoreOptions.systemProperty;
 import static org.ops4j.pax.exam.CoreOptions.maven;
 
+import java.net.InetSocketAddress;
+import java.net.URI;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
 
 import javax.inject.Inject;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
+import org.opendaylight.controller.sal.connect.netconf.InventoryUtils;
+import org.opendaylight.controller.sal.connect.netconf.NetconfInventoryUtils;
+import org.opendaylight.controller.sal.core.api.data.DataBrokerService;
+import org.opendaylight.controller.sal.core.api.mount.MountProvisionInstance;
+import org.opendaylight.controller.sal.core.api.mount.MountProvisionService;
 import org.opendaylight.controller.test.sal.binding.it.TestHelper;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.data.api.CompositeNode;
+import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
 import org.ops4j.pax.exam.Configuration;
 import org.ops4j.pax.exam.CoreOptions;
 import org.ops4j.pax.exam.Option;
@@ -34,23 +47,50 @@ public class ServiceProviderController {
     public static final String YANG = "org.opendaylight.yangtools";
     public static final String SAMPLE = "org.opendaylight.controller.samples";
 
+    private static QName CONFIG_MODULES = new QName(
+            URI.create("urn:opendaylight:params:xml:ns:yang:controller:config"), null, "modules");
+    private static QName CONFIG_SERVICES = new QName(
+            URI.create("urn:opendaylight:params:xml:ns:yang:controller:config"), null, "modules");
+    @Inject
+    BundleContext context;
+
+    @Inject
+    MountProvisionService mountService;
+
+    @Inject
+    DataBrokerService dataBroker;
+
     @Test
     public void properInitialized() throws Exception {
 
-        Thread.sleep(30*60*1000); // Waiting for services to get wired.
-        assertTrue(true);
-        // assertTrue(consumer.createToast(WhiteBread.class, 5));
+        Map<QName, String> arg = Collections.singletonMap(InventoryUtils.INVENTORY_ID, "foo");
 
-    }
+        InstanceIdentifier path = InstanceIdentifier.builder(InventoryUtils.INVENTORY_PATH)
+                .nodeWithKey(InventoryUtils.INVENTORY_NODE, InventoryUtils.INVENTORY_ID, "foo").toInstance();
 
-    // @Inject
-    // BindingAwareBroker broker;
+        
+        InstanceIdentifier mountPointPath = path;
+        
+        /** We retrive a mountpoint **/
+        MountProvisionInstance mountPoint = mountService.getMountPoint(mountPointPath);
+        CompositeNode data = mountPoint.readOperationalData(InstanceIdentifier.builder().node(CONFIG_MODULES)
+                .toInstance());
+        assertNotNull(data);
+        assertEquals(CONFIG_MODULES, data.getNodeType());
 
-    // @Inject
-    // ToastConsumer consumer;
+        CompositeNode data2 = mountPoint.readOperationalData(InstanceIdentifier.builder().toInstance());
+        assertNotNull(data2);
 
-    @Inject
-    BundleContext ctx;
+        InstanceIdentifier fullPath = InstanceIdentifier.builder(mountPointPath).node(CONFIG_MODULES).toInstance();
+
+        CompositeNode data3 = dataBroker.readOperationalData(fullPath);
+        assertNotNull(data3);
+        assertEquals(CONFIG_MODULES, data.getNodeType());
+
+        //Thread.sleep(30 * 60 * 1000); // Waiting for services to get wired.
+        //assertTrue(true);
+        // assertTrue(consumer.createToast(WhiteBread.class, 5));
+    }
 
     @Configuration
     public Option[] config() {
@@ -63,6 +103,7 @@ public class ServiceProviderController {
                 mdSalCoreBundles(),
                 baseModelBundles(),
                 flowCapableModelBundles(),
+                configMinumumBundles(),
 
                 // mavenBundle(ODL,
                 // "sal-binding-broker-impl").versionAsInProject().update(), //
@@ -79,6 +120,7 @@ public class ServiceProviderController {
                 // mavenBundle(SAMPLE,
                 // "zeromq-test-provider").versionAsInProject(), //
                 mavenBundle(ODL, "sal-rest-connector").versionAsInProject(), //
+                mavenBundle(ODL, "sal-netconf-connector").versionAsInProject(), //
 
                 mavenBundle(YANG, "concepts").versionAsInProject(),
                 mavenBundle(YANG, "yang-binding").versionAsInProject(), //
@@ -89,6 +131,7 @@ public class ServiceProviderController {
                 mavenBundle(YANG, "yang-model-util").versionAsInProject(), //
                 mavenBundle(YANG, "yang-parser-api").versionAsInProject(),
                 mavenBundle(YANG, "yang-parser-impl").versionAsInProject(),
+
                 mavenBundle(YANG + ".thirdparty", "xtend-lib-osgi").versionAsInProject(), //
                 mavenBundle(YANG + ".thirdparty", "antlr4-runtime-osgi-nohead").versionAsInProject(), //
                 mavenBundle("com.google.guava", "guava").versionAsInProject(), //
@@ -105,8 +148,18 @@ public class ServiceProviderController {
                 // earlier.
                 systemProperty("osgi.bundles.defaultStartLevel").value("4"),
 
+                systemProperty("netconf.tcp.address").value("127.0.0.1"),
+                systemProperty("netconf.tcp.port").value("8383"),
+
+                systemProperty("netconf.tcp.client.address").value("127.0.0.1"),
+                systemProperty("netconf.tcp.client.port").value("8383"),
+
                 // Set the systemPackages (used by clustering)
                 systemPackages("sun.reflect", "sun.reflect.misc", "sun.misc"),
+
+                mavenBundle("org.apache.servicemix.bundles", "org.apache.servicemix.bundles.xerces", "2.11.0_1"),
+                mavenBundle("org.eclipse.birt.runtime.3_7_1", "org.apache.xml.resolver", "1.2.0"),
+
                 mavenBundle("org.slf4j", "jcl-over-slf4j").versionAsInProject(),
                 mavenBundle("org.slf4j", "slf4j-api").versionAsInProject(),
                 mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(),
@@ -129,10 +182,13 @@ public class ServiceProviderController {
 
                 // Northbound bundles
                 mavenBundle("org.opendaylight.controller", "commons.northbound").versionAsInProject(),
-                mavenBundle("org.codehaus.jackson", "jackson-mapper-asl").versionAsInProject(),
-                mavenBundle("org.codehaus.jackson", "jackson-core-asl").versionAsInProject(),
-                mavenBundle("org.codehaus.jackson", "jackson-jaxrs").versionAsInProject(),
-                mavenBundle("org.codehaus.jackson", "jackson-xc").versionAsInProject(),
+
+                mavenBundle("com.fasterxml.jackson.core", "jackson-annotations").versionAsInProject(),
+                mavenBundle("com.fasterxml.jackson.core", "jackson-core").versionAsInProject(),
+                mavenBundle("com.fasterxml.jackson.core", "jackson-databind").versionAsInProject(),
+                mavenBundle("com.fasterxml.jackson.jaxrs", "jackson-jaxrs-json-provider").versionAsInProject(),
+                mavenBundle("com.fasterxml.jackson.module", "jackson-module-jaxb-annotations").versionAsInProject(),
+
                 mavenBundle("org.codehaus.jettison", "jettison").versionAsInProject(),
 
                 mavenBundle("commons-io", "commons-io").versionAsInProject(),
@@ -140,6 +196,39 @@ public class ServiceProviderController {
                 // mavenBundle("commons-fileupload",
                 // "commons-fileupload").versionAsInProject(),
 
+                mavenBundle("io.netty", "netty-handler").versionAsInProject(),
+                mavenBundle("io.netty", "netty-codec").versionAsInProject(),
+                mavenBundle("io.netty", "netty-buffer").versionAsInProject(),
+                mavenBundle("io.netty", "netty-transport").versionAsInProject(),
+                mavenBundle("io.netty", "netty-common").versionAsInProject(),
+
+                mavenBundle(ODL, "config-api").versionAsInProject(),
+                mavenBundle(ODL, "config-manager").versionAsInProject(),
+                mavenBundle(ODL, "config-util").versionAsInProject(),
+                mavenBundle(ODL, "yang-jmx-generator").versionAsInProject(),
+                mavenBundle(ODL, "yang-store-api").versionAsInProject(),
+                mavenBundle(ODL, "yang-store-impl").versionAsInProject(),
+                mavenBundle(ODL, "logback-config").versionAsInProject(),
+                mavenBundle(ODL, "config-persister-api").versionAsInProject(),
+                // mavenBundle(ODL,"config-persister-file-adapter").versionAsInProject(),
+                mavenBundle(ODL, "netconf-api").versionAsInProject(),
+                mavenBundle(ODL, "netconf-impl").versionAsInProject(),
+                mavenBundle(ODL, "netconf-client").versionAsInProject(),
+                mavenBundle(ODL, "netconf-util").versionAsInProject(),
+                mavenBundle(ODL + ".thirdparty", "ganymed", "1.0-SNAPSHOT"),
+                mavenBundle(ODL, "netconf-mapping-api").versionAsInProject(),
+                mavenBundle(ODL, "config-netconf-connector").versionAsInProject(),
+                mavenBundle(ODL, "config-persister-impl").versionAsInProject(),
+
+                mavenBundle("org.opendaylight.bgpcep", "framework").versionAsInProject(),
+                mavenBundle(YANG, "binding-generator-spi").versionAsInProject(), //
+                mavenBundle(YANG, "binding-model-api").versionAsInProject(), //
+                mavenBundle(YANG, "binding-generator-util").versionAsInProject(),
+                mavenBundle(YANG, "yang-parser-impl").versionAsInProject(),
+                mavenBundle(YANG, "binding-type-provider").versionAsInProject(),
+
+                mavenBundle("org.opendaylight.controller.thirdparty", "exificient", "0.9.2"),
+
                 mavenBundle("equinoxSDK381", "javax.servlet").versionAsInProject(),
                 mavenBundle("equinoxSDK381", "javax.servlet.jsp").versionAsInProject(),
                 mavenBundle("equinoxSDK381", "org.eclipse.equinox.ds").versionAsInProject(),
@@ -231,8 +320,6 @@ public class ServiceProviderController {
                 mavenBundle("com.sun.jersey", "jersey-client").versionAsInProject(),
                 mavenBundle("com.sun.jersey", "jersey-server").versionAsInProject().startLevel(2),
                 mavenBundle("com.sun.jersey", "jersey-core").versionAsInProject().startLevel(2),
-                mavenBundle("com.sun.jersey", "jersey-json").versionAsInProject().startLevel(2),
-
                 junitBundles());
     }