X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Ftest%2Fsal-rest-connector-it%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Ftest%2Frestconf%2Fit%2FServiceProviderController.java;h=4a43e0cf8266c1ae5c56dbb6a77c9bdc7018bb73;hp=1087da22f9b2ddcbdb54e9e441530124ba175771;hb=44bac35e828c5dfee8a9fb7fad4f57bceaa9490b;hpb=6e2091192262640b390486008b13af56315c3e34 diff --git a/opendaylight/md-sal/test/sal-rest-connector-it/src/test/java/org/opendaylight/controller/test/restconf/it/ServiceProviderController.java b/opendaylight/md-sal/test/sal-rest-connector-it/src/test/java/org/opendaylight/controller/test/restconf/it/ServiceProviderController.java index 1087da22f9..4a43e0cf82 100644 --- a/opendaylight/md-sal/test/sal-rest-connector-it/src/test/java/org/opendaylight/controller/test/restconf/it/ServiceProviderController.java +++ b/opendaylight/md-sal/test/sal-rest-connector-it/src/test/java/org/opendaylight/controller/test/restconf/it/ServiceProviderController.java @@ -1,5 +1,13 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ 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 +16,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 +54,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 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; - // @Inject - // ToastConsumer consumer; + InstanceIdentifier mountPointPath = path; - @Inject - BundleContext ctx; + /** 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()); + + CompositeNode data2 = mountPoint.readOperationalData(InstanceIdentifier.builder().toInstance()); + assertNotNull(data2); + + 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 +110,7 @@ public class ServiceProviderController { mdSalCoreBundles(), baseModelBundles(), flowCapableModelBundles(), + configMinumumBundles(), // mavenBundle(ODL, // "sal-binding-broker-impl").versionAsInProject().update(), // @@ -79,6 +127,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 +138,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 +155,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 +189,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 +203,35 @@ 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, "logback-config").versionAsInProject(), + mavenBundle(ODL, "config-persister-api").versionAsInProject(), + // mavenBundle(ODL,"config-persister-file-xml-adapter").versionAsInProject(), + mavenBundle(ODL, "protocol-framework").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").versionAsInProject(), + mavenBundle(ODL, "netconf-mapping-api").versionAsInProject(), + mavenBundle(ODL, "config-netconf-connector").versionAsInProject(), + mavenBundle(ODL, "config-persister-impl").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("equinoxSDK381", "javax.servlet").versionAsInProject(), mavenBundle("equinoxSDK381", "javax.servlet.jsp").versionAsInProject(), mavenBundle("equinoxSDK381", "org.eclipse.equinox.ds").versionAsInProject(), @@ -231,8 +323,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()); }