+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>itests-controller</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>base-features-it</artifactId>
- <name>base-features-it</name>
- <packaging>jar</packaging>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>base-features</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </dependency>
- <!-- Dependencies for pax exam karaf container -->
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-container-karaf</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam-junit4</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.exam</groupId>
- <artifactId>pax-exam</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.ops4j.pax.url</groupId>
- <artifactId>pax-url-aether</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- <version>1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.karaf.features</groupId>
- <artifactId>org.apache.karaf.features.core</artifactId>
- <version>${karaf.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
-
- </dependencies>
-
- <build>
- <plugins>
- <!-- Needed if you use versionAsInProject() -->
- <!-- <plugin>
- <groupId>org.apache.servicemix.tooling</groupId>
- <artifactId>depends-maven-plugin</artifactId>
- <version>1.2</version>
- <executions>
- <execution>
- <id>generate-depends-file</id>
- <goals>
- <goal>generate-depends-file</goal>
- </goals>
- </execution>
- </executions>
- </plugin> -->
- </plugins>
- </build>
-</project>
+++ /dev/null
-package org.opendaylight.controller.base;
-
-import static org.ops4j.pax.exam.CoreOptions.maven;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.configureConsole;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder;
-import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
-
-import java.io.File;
-import java.net.URI;
-import java.util.EnumSet;
-
-import javax.inject.Inject;
-
-import org.junit.Assert;
-
-import org.apache.karaf.features.Feature;
-import org.apache.karaf.features.FeaturesService;
-import org.apache.karaf.features.Repository;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.ops4j.pax.exam.Configuration;
-import org.ops4j.pax.exam.Option;
-import org.ops4j.pax.exam.junit.PaxExam;
-import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel;
-
-
-@RunWith(PaxExam.class)
-public class BaseFeatureTest {
- @Inject
- private FeaturesService featuresService;
- @Configuration
- public Option[] config() {
- return new Option[] {
- // Provision and launch a container based on a distribution of Karaf (Apache ServiceMix).
- karafDistributionConfiguration()
- .frameworkUrl(
- maven()
- .groupId("org.opendaylight.controller")
- .artifactId("distribution.opendaylight-karaf")
- .type("tar.gz")
- .version("1.4.2-SNAPSHOT"))
- .name("OpenDaylight")
- .unpackDirectory(new File("target/pax"))
- .useDeployFolder(false),
- // It is really nice if the container sticks around after the test so you can check the contents
- // of the data directory when things go wrong.
- keepRuntimeFolder(),
- // Don't bother with local console output as it just ends up cluttering the logs
- configureConsole().ignoreLocalConsole(),
- // Force the log level to INFO so we have more details during the test. It defaults to WARN.
- logLevel(LogLevel.WARN),
- // Remember that the test executes in another process. If you want to debug it, you need
- // to tell Pax Exam to launch that process with debugging enabled. Launching the test class itself with
- // debugging enabled (for example in Eclipse) will not get you the desired results.
- //debugConfiguration("5000", true),
- };
- }
-
- @Test
- public void testAllFeatures() throws Exception {
- featuresService.addRepository(new URI("mvn:org.opendaylight.controller/base-features/1.4.2-SNAPSHOT/xml/features"));
- Repository repoUnderTest = featuresService.getRepository("base-1.4.2-SNAPSHOT");
- Assert.assertNotNull(repoUnderTest);
- Feature[] featuresUnderTest = repoUnderTest.getFeatures();
- for(int i=0; i< featuresUnderTest.length; i++)
- {
- Feature feature = featuresUnderTest[i];
- featuresService.installFeature(feature,EnumSet.of(FeaturesService.Option.Verbose));
- System.out.println("Testing Feature:"+feature.getName());
- Assert.assertTrue(featuresService.isInstalled(feature));
- }
- }
-}
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>commons.opendaylight</artifactId>
- <version>1.7.0-SNAPSHOT</version>
- <relativePath>../opendaylight/commons/opendaylight</relativePath>
- </parent>
- <artifactId>itests-controller</artifactId>
- <packaging>pom</packaging>
-
- <modules>
- <module>base-features-it</module>
- </modules>
-</project>