Hi,
I am trying to write integration tests for Karaf and I am following
https://karaf.apache.org/manual/latest/developers-guide/writing-tests.html.
That page says to include:
<dependency>
<groupId>org.apache.karaf.tooling.exam</groupId>
<artifactId>org.apache.karaf.tooling.exam.container</artifactId>
<version>3.0.3-SNAPSHOT</version>
<scope>test</scope>
</dependency>
But I can't find this dependency in Maven.
I also tried the guide here:
https://ops4j1.jira.com/wiki/display/PAXEXAM4/Karaf+Container:
@RunWith(PaxExam.class)
public class ConfigurableMemoryRepositoryIT {
@Configuration
public Option[] config() {
MavenArtifactUrlReference karafUrl = maven()
.groupId("org.apache.karaf")
.artifactId("apache-karaf")
.version("3.0.3")
.type("tar.gz");
MavenUrlReference karafStandardRepo = maven()
.groupId("org.apache.karaf.features")
.artifactId("standard")
.classifier("features")
.version("3.0.3")
.type("xml");
return new Option[] {
karafDistributionConfiguration()
.frameworkUrl(karafUrl)
.unpackDirectory(new File("target/exam"))
.useDeployFolder(false),
keepRuntimeFolder(),
features(karafStandardRepo, "scr"),
};
}
@Test
public void test() throws Exception {
assertTrue(true);
}
}
But I am getting the following exception:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at
shaded.org.apache.http.conn.ssl.AbstractVerifier.<init>(AbstractVerifier.java:89)
at
shaded.org.apache.http.conn.ssl.AllowAllHostnameVerifier.<init>(AllowAllHostnameVerifier.java:40)
at
shaded.org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:124)
at
org.ops4j.pax.url.mvn.internal.HttpClients.createConnManager(HttpClients.java:70)
at org.ops4j.pax.url.mvn.internal.HttpClients.createClient(HttpClients.java:39)
at
org.ops4j.pax.url.mvn.internal.AetherBasedResolver.<init>(AetherBasedResolver.java:132)
at
org.ops4j.pax.url.mvn.MavenResolvers.createMavenResolver(MavenResolvers.java:36)
at
org.ops4j.pax.url.mvn.MavenResolvers.createMavenResolver(MavenResolvers.java:29)
at org.ops4j.pax.url.mvn.Handler.openConnection(Handler.java:50)
My pax-exam dependencies are attached.
Can anyone help with this?
Thanks
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-container-karaf</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam-junit4</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.exam</groupId>
<artifactId>pax-exam</artifactId>
<version>4.4.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
<version>2.3.0</version>
<scope>test</scope>
</dependency>