This is an automated email from the ASF dual-hosted git repository.
buhhunyx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new b5ba5a7 org.apache.cxf.osgi.itests: improve test stability
b5ba5a7 is described below
commit b5ba5a7d58b2fc4ea767effb24bf3d26737586b2
Author: amarkevich <[email protected]>
AuthorDate: Wed Jan 9 18:26:48 2019 +0300
org.apache.cxf.osgi.itests: improve test stability
---
.../cxf/osgi/itests/AbstractServerActivator.java | 63 +++++++++++
.../cxf/osgi/itests/BundlesAndNamespacesTest.java | 18 +--
.../apache/cxf/osgi/itests/CXFOSGiTestSupport.java | 123 +++++----------------
.../cxf/osgi/itests/jaxrs/JaxRsServiceTest.java | 36 +++---
.../cxf/osgi/itests/jaxrs/JaxRsTestActivator.java | 24 ++--
.../cxf/osgi/itests/soap/HttpServiceTest.java | 13 ++-
.../cxf/osgi/itests/soap/HttpTestActivator.java | 13 +--
.../cxf/osgi/itests/soap/JmsServiceTest.java | 24 ++--
.../cxf/osgi/itests/soap/JmsTestActivator.java | 2 -
9 files changed, 148 insertions(+), 168 deletions(-)
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/AbstractServerActivator.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/AbstractServerActivator.java
new file mode 100644
index 0000000..66a6e8f
--- /dev/null
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/AbstractServerActivator.java
@@ -0,0 +1,63 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.osgi.itests;
+
+import org.apache.cxf.endpoint.Server;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.util.tracker.ServiceTracker;
+
+public abstract class AbstractServerActivator implements BundleActivator {
+
+ private Server server;
+
+ public static void awaitService(BundleContext bundleContext, String
filter, long timeout)
+ throws InvalidSyntaxException, InterruptedException {
+ Filter serviceFilter = bundleContext.createFilter(filter);
+ ServiceTracker<Object, ?> tracker = new
ServiceTracker<>(bundleContext, serviceFilter, null);
+ tracker.open();
+ Object service = tracker.waitForService(timeout);
+ tracker.close();
+ if (service == null) {
+ throw new IllegalStateException("Expected service with filter " +
filter + " was not found");
+ }
+ }
+
+ private static void awaitCxfServlet(BundleContext bundleContext)
+ throws InvalidSyntaxException, InterruptedException {
+ awaitService(bundleContext, "(" + Constants.OBJECTCLASS +
"=javax.servlet.ServletContext)", 60000L);
+ }
+
+ @Override
+ public void start(BundleContext bundleContext) throws Exception {
+ awaitCxfServlet(bundleContext);
+ server = createServer();
+ }
+
+ protected abstract Server createServer();
+
+ @Override
+ public void stop(BundleContext bundleContext) throws Exception {
+ server.destroy();
+ }
+
+}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
index 5640197..05b7025 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/BundlesAndNamespacesTest.java
@@ -38,23 +38,23 @@ public class BundlesAndNamespacesTest extends
CXFOSGiTestSupport {
@Test
public void test() throws Exception {
assertBundleStarted("org.apache.cxf.cxf-core");
-
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/core", 1000);
-
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/beans",
1000);
-
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/parameterized-types",
1000);
-
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/security",
1000);
- assertBlueprintNamespacePublished("http://schemas.xmlsoap.org/wsdl/",
1000);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/core",
1000L);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/beans",
1000L);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/parameterized-types",
1000L);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/configuration/security",
1000L);
+ assertBlueprintNamespacePublished("http://schemas.xmlsoap.org/wsdl/",
1000L);
assertBundleStarted("org.apache.cxf.cxf-rt-frontend-jaxws");
-
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/jaxws",
1000);
-
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/simple",
1000);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/jaxws",
1000L);
+
assertBlueprintNamespacePublished("http://cxf.apache.org/blueprint/simple",
1000L);
}
@Configuration
public Option[] config() {
return new Option[]{
cxfBaseConfig(),
-
- features(cxfUrl, "aries-blueprint", "cxf-core", "cxf-jaxws"),
+ features(karafUrl, "aries-blueprint"),
+ features(cxfUrl, "cxf-core", "cxf-jaxws"),
logLevel(LogLevel.INFO)};
}
}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
index 4224671..cffd4d6 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/CXFOSGiTestSupport.java
@@ -22,27 +22,22 @@ package org.apache.cxf.osgi.itests;
import java.io.File;
-import java.io.IOException;
-import java.net.DatagramSocket;
-import java.net.ServerSocket;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
+import java.net.URISyntaxException;
import javax.inject.Inject;
-import org.apache.karaf.features.FeaturesService;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
-import org.osgi.framework.Filter;
-import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.framework.InvalidSyntaxException;
-import org.junit.Assert;
import org.ops4j.pax.exam.MavenUtils;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.exam.karaf.container.internal.JavaVersionUtil;
import org.ops4j.pax.exam.options.MavenUrlReference;
import org.ops4j.pax.exam.options.extra.VMOption;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.ops4j.pax.exam.CoreOptions.composite;
import static org.ops4j.pax.exam.CoreOptions.maven;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
@@ -60,11 +55,6 @@ public class CXFOSGiTestSupport {
@Inject
protected BundleContext bundleContext;
- @Inject
- protected FeaturesService featureService;
-
- protected ExecutorService executor = Executors.newCachedThreadPool();
-
protected MavenUrlReference cxfUrl;
protected MavenUrlReference karafUrl;
protected MavenUrlReference amqUrl;
@@ -81,16 +71,21 @@ public class CXFOSGiTestSupport {
*/
protected Option cxfBaseConfig() {
karafUrl =
maven().groupId("org.apache.karaf").artifactId("apache-karaf-minimal").version(getKarafVersion())
- .type("tar.gz");
+ .type("tar.gz");
cxfUrl =
maven().groupId("org.apache.cxf.karaf").artifactId("apache-cxf").versionAsInProject()
- .type("xml").classifier("features");
+ .type("xml").classifier("features");
amqUrl = maven().groupId("org.apache.activemq")
-
.artifactId("activemq-karaf").type("xml").classifier("features").versionAsInProject();
- springLegacyUrl = maven().groupId("org.apache.karaf.features").
- artifactId("spring-legacy").version(getKarafVersion())
- .type("xml").classifier("features");
+
.artifactId("activemq-karaf").type("xml").classifier("features").versionAsInProject();
+ springLegacyUrl =
maven().groupId("org.apache.karaf.features").artifactId("spring-legacy")
+ .version(getKarafVersion()).type("xml").classifier("features");
String localRepo = System.getProperty("localRepository");
Object urp = System.getProperty("cxf.useRandomFirstPort");
+ final File loggingCfg;
+ try {
+ loggingCfg = new
File(getClass().getResource("/etc/org.ops4j.pax.logging.cfg").toURI());
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
if (JavaVersionUtil.getMajorVersion() >= 9) {
return composite(karafDistributionConfiguration()
.frameworkUrl(karafUrl)
@@ -103,8 +98,7 @@ public class CXFOSGiTestSupport {
//debugConfiguration(), // nor this
systemProperty("pax.exam.osgi.unresolved.fail").value("true"),
systemProperty("java.awt.headless").value("true"),
-
replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg",
- new
File("src/test/resources/etc/org.ops4j.pax.logging.cfg")),
+
replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", loggingCfg),
when(localRepo != null)
.useOptions(editConfigurationFilePut("etc/org.ops4j.pax.url.mvn.cfg",
"org.ops4j.pax.url.mvn.localRepository",
@@ -149,8 +143,7 @@ public class CXFOSGiTestSupport {
//debugConfiguration(), // nor this
systemProperty("pax.exam.osgi.unresolved.fail").value("true"),
systemProperty("java.awt.headless").value("true"),
-
replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg",
- new
File("src/test/resources/etc/org.ops4j.pax.logging.cfg")),
+
replaceConfigurationFile("etc/org.ops4j.pax.logging.cfg", loggingCfg),
when(localRepo != null)
.useOptions(editConfigurationFilePut("etc/org.ops4j.pax.url.mvn.cfg",
"org.ops4j.pax.url.mvn.localRepository",
@@ -159,66 +152,14 @@ public class CXFOSGiTestSupport {
}
}
- protected Option testUtils() {
+ protected static Option testUtils() {
return
mavenBundle().groupId("org.apache.cxf").artifactId("cxf-testutils").versionAsInProject();
}
- protected Bundle getInstalledBundle(String symbolicName) {
- for (Bundle b : bundleContext.getBundles()) {
- if (b.getSymbolicName().equals(symbolicName)) {
- return b;
- }
- }
- for (Bundle b : bundleContext.getBundles()) {
- System.err.println("Bundle: " + b.getSymbolicName());
- }
- throw new RuntimeException("Bundle " + symbolicName + " does not
exist");
- }
-
- /**
- * Finds a free port starting from the give port numner.
- *
- * @return
- */
- protected int getFreePort(int port) {
- while (!isPortAvailable(port)) {
- port++;
- }
- return port;
- }
-
- /**
- * Returns true if port is available for use.
- *
- * @param port
- * @return
- */
- public static boolean isPortAvailable(int port) {
- ServerSocket ss = null;
- try (DatagramSocket ds = new DatagramSocket(port)) {
- ss = new ServerSocket(port);
- ss.setReuseAddress(true);
- ds.setReuseAddress(true);
- return true;
- } catch (IOException e) {
- // ignore
- } finally {
- if (ss != null) {
- try {
- ss.close();
- } catch (IOException e) {
- /* should not be thrown */
- }
- }
- }
-
- return false;
- }
-
protected void assertBundleStarted(String name) {
Bundle bundle = findBundleByName(name);
- Assert.assertNotNull("Bundle " + name + " should be installed",
bundle);
- Assert.assertEquals("Bundle " + name + " should be started",
Bundle.ACTIVE, bundle.getState());
+ assertNotNull("Bundle " + name + " should be installed", bundle);
+ assertEquals("Bundle " + name + " should be started", Bundle.ACTIVE,
bundle.getState());
}
protected Bundle findBundleByName(String symbolicName) {
@@ -230,24 +171,12 @@ public class CXFOSGiTestSupport {
return null;
}
- public void assertServicePublished(String filter, int timeout) {
- try {
- Filter serviceFilter = bundleContext.createFilter(filter);
- ServiceTracker<Object, ?> tracker = new
ServiceTracker<>(bundleContext, serviceFilter, null);
- tracker.open();
- Object service = tracker.waitForService(timeout);
- tracker.close();
- if (service == null) {
- throw new IllegalStateException("Expected service with filter
" + filter + " was not found");
- }
- } catch (Exception e) {
- throw new RuntimeException("Unexpected exception occured", e);
- }
- }
-
- public void assertBlueprintNamespacePublished(String namespace, int
timeout) {
-
assertServicePublished(String.format("(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)"
- +
"(osgi.service.blueprint.namespace=%s))", namespace), timeout);
+ protected void assertBlueprintNamespacePublished(String namespace, long
timeout)
+ throws InvalidSyntaxException, InterruptedException {
+ AbstractServerActivator.awaitService(bundleContext,
+
String.format("(&(objectClass=org.apache.aries.blueprint.NamespaceHandler)"
+ + "(osgi.service.blueprint.namespace=%s))", namespace),
+ timeout);
}
}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsServiceTest.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsServiceTest.java
index 05a1847..b59f96c 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsServiceTest.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsServiceTest.java
@@ -20,17 +20,16 @@ package org.apache.cxf.osgi.itests.jaxrs;
import java.io.InputStream;
-import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
+import org.apache.cxf.osgi.itests.AbstractServerActivator;
import org.apache.cxf.osgi.itests.CXFOSGiTestSupport;
import org.osgi.framework.Constants;
-import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
@@ -41,7 +40,8 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.ops4j.pax.tinybundles.core.TinyBundles;
-
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.ops4j.pax.exam.CoreOptions.provision;
import static
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
import static
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
@@ -53,17 +53,12 @@ public class JaxRsServiceTest extends CXFOSGiTestSupport {
private static final String BASE_URL =
"http://localhost:8181/cxf/jaxrs/bookstore";
- private final WebTarget wt;
-
- public JaxRsServiceTest() {
- Client client = ClientBuilder.newClient();
- wt = client.target(BASE_URL);
- }
+ private final WebTarget wt = ClientBuilder.newClient().target(BASE_URL);
@Test
public void testJaxRsGet() throws Exception {
Book book =
wt.path("/books/123").request("application/xml").get(Book.class);
- Assert.assertNotNull(book);
+ assertNotNull(book);
}
@Test
@@ -71,7 +66,7 @@ public class JaxRsServiceTest extends CXFOSGiTestSupport {
Book book = new Book("New Book", 321);
Response response =
wt.path("/books/").request("application/xml").post(Entity.xml(book));
assertStatus(Status.CREATED, response);
- Assert.assertNotNull(response.getLocation());
+ assertNotNull(response.getLocation());
}
@Test
@@ -86,7 +81,7 @@ public class JaxRsServiceTest extends CXFOSGiTestSupport {
Book book = new Book("A Book", 3212);
Response response =
wt.path("/books-validate/").request("application/xml").post(Entity.xml(book));
assertStatus(Status.CREATED, response);
- Assert.assertNotNull(response.getLocation());
+ assertNotNull(response.getLocation());
}
@Test
@@ -102,25 +97,24 @@ public class JaxRsServiceTest extends CXFOSGiTestSupport {
assertStatus(Status.OK, response);
}
+ private static void assertStatus(Status expectedStatus, Response response)
{
+ assertEquals(expectedStatus.getStatusCode(), response.getStatus());
+ }
+
@Configuration
public Option[] config() {
return new Option[] {
cxfBaseConfig(),
- features(cxfUrl, "aries-blueprint", "cxf-core", "cxf-wsdl",
"cxf-jaxrs", "http",
- "cxf-bean-validation-core",
- "cxf-bean-validation"),
- testUtils(),
+ features(karafUrl, "aries-blueprint", "http"),
+ features(cxfUrl, "cxf-core", "cxf-wsdl", "cxf-jaxrs",
"cxf-bean-validation-core", "cxf-bean-validation"),
logLevel(LogLevel.INFO),
provision(serviceBundle())
};
}
- private void assertStatus(Status expectedStatus, Response response) {
- Assert.assertEquals(expectedStatus.getStatusCode(),
response.getStatus());
- }
-
- private InputStream serviceBundle() {
+ private static InputStream serviceBundle() {
return TinyBundles.bundle()
+ .add(AbstractServerActivator.class)
.add(JaxRsTestActivator.class)
.add(Book.class)
.add(BookStore.class)
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsTestActivator.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsTestActivator.java
index 6a73a29..8f4b286 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsTestActivator.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/jaxrs/JaxRsTestActivator.java
@@ -18,31 +18,21 @@
*/
package org.apache.cxf.osgi.itests.jaxrs;
-import org.apache.cxf.Bus;
-import org.apache.cxf.BusFactory;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
+import org.apache.cxf.osgi.itests.AbstractServerActivator;
-public class JaxRsTestActivator implements BundleActivator {
-// public static final String PORT =
TestUtil.getPortNumber(JaxRsTestActivator.class);
- private Server server;
+public class JaxRsTestActivator extends AbstractServerActivator {
@Override
- public void start(BundleContext arg0) throws Exception {
- Bus bus = BusFactory.newInstance().createBus();
- bus.setExtension(JaxRsTestActivator.class.getClassLoader(),
ClassLoader.class);
+ protected Server createServer() {
+// Bus bus = BusFactory.newInstance().createBus();
+// bus.setExtension(JaxRsTestActivator.class.getClassLoader(),
ClassLoader.class);
JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
- sf.setBus(bus);
+// sf.setBus(bus);
sf.setResourceClasses(BookStore.class);
sf.setAddress("/jaxrs");
- server = sf.create();
- }
-
- @Override
- public void stop(BundleContext arg0) throws Exception {
- server.destroy();
+ return sf.create();
}
}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpServiceTest.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpServiceTest.java
index c2894d0..307d1f8 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpServiceTest.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpServiceTest.java
@@ -21,10 +21,10 @@ package org.apache.cxf.osgi.itests.soap;
import java.io.InputStream;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
+import org.apache.cxf.osgi.itests.AbstractServerActivator;
import org.apache.cxf.osgi.itests.CXFOSGiTestSupport;
import org.osgi.framework.Constants;
-import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
@@ -35,6 +35,7 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.ops4j.pax.tinybundles.core.TinyBundles;
+import static org.junit.Assert.assertEquals;
import static org.ops4j.pax.exam.CoreOptions.provision;
import static
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
import static
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.logLevel;
@@ -47,14 +48,14 @@ public class HttpServiceTest extends CXFOSGiTestSupport {
public void testHttpEndpoint() throws Exception {
Greeter greeter = greeterHttpProxy("8181");
String res = greeter.greetMe("Chris");
- Assert.assertEquals("Hi Chris", res);
+ assertEquals("Hi Chris", res);
}
@Test
public void testHttpEndpointJetty() throws Exception {
Greeter greeter = greeterHttpProxy(HttpTestActivator.PORT);
String res = greeter.greetMe("Chris");
- Assert.assertEquals("Hi Chris", res);
+ assertEquals("Hi Chris", res);
}
private Greeter greeterHttpProxy(String port) {
@@ -68,15 +69,17 @@ public class HttpServiceTest extends CXFOSGiTestSupport {
public Option[] config() {
return new Option[] {
cxfBaseConfig(),
- features(cxfUrl, "cxf-jaxws", "cxf-http-jetty", "http"),
+ features(karafUrl, "http"),
+ features(cxfUrl, "cxf-jaxws", "cxf-http-jetty"),
testUtils(),
logLevel(LogLevel.INFO),
provision(serviceBundle())
};
}
- private InputStream serviceBundle() {
+ private static InputStream serviceBundle() {
return TinyBundles.bundle()
+ .add(AbstractServerActivator.class)
.add(HttpTestActivator.class)
.add(Greeter.class)
.add(GreeterImpl.class)
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpTestActivator.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpTestActivator.java
index 8d46c1a..56b8b79 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpTestActivator.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/HttpTestActivator.java
@@ -20,19 +20,18 @@ package org.apache.cxf.osgi.itests.soap;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
+import org.apache.cxf.osgi.itests.AbstractServerActivator;
import org.apache.cxf.testutil.common.TestUtil;
-import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
-public class HttpTestActivator implements BundleActivator {
+public class HttpTestActivator extends AbstractServerActivator {
public static final String PORT =
TestUtil.getPortNumber(HttpTestActivator.class);
- private Server server;
private Server serverJetty;
@Override
- public void start(BundleContext arg0) throws Exception {
- server = createTestServer("/greeter");
+ protected Server createServer() {
serverJetty = createTestServer("http://localhost:" + PORT +
"/cxf/greeter");
+ return createTestServer("/greeter");
}
private Server createTestServer(String url) {
@@ -44,8 +43,8 @@ public class HttpTestActivator implements BundleActivator {
}
@Override
- public void stop(BundleContext arg0) throws Exception {
- server.destroy();
+ public void stop(BundleContext bundleContext) throws Exception {
+ super.stop(bundleContext);
serverJetty.destroy();
}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsServiceTest.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsServiceTest.java
index a97fbcc..dcde114 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsServiceTest.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsServiceTest.java
@@ -29,7 +29,6 @@ import org.apache.cxf.osgi.itests.CXFOSGiTestSupport;
import org.apache.cxf.transport.jms.ConnectionFactoryFeature;
import org.osgi.framework.Constants;
-import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.ops4j.pax.exam.Configuration;
@@ -39,6 +38,7 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.ops4j.pax.tinybundles.core.TinyBundles;
+import static org.junit.Assert.assertEquals;
import static org.ops4j.pax.exam.CoreOptions.provision;
import static
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features;
@@ -50,10 +50,10 @@ public class JmsServiceTest extends CXFOSGiTestSupport {
public void testJmsEndpoint() throws Exception {
Greeter greeter = greeterJms();
String res = greeter.greetMe("Chris");
- Assert.assertEquals("Hi Chris", res);
+ assertEquals("Hi Chris", res);
}
- private Greeter greeterJms() {
+ private static Greeter greeterJms() {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(Greeter.class);
factory.setAddress("jms:queue:greeter");
@@ -62,7 +62,7 @@ public class JmsServiceTest extends CXFOSGiTestSupport {
return factory.create(Greeter.class);
}
- private ActiveMQConnectionFactory createConnectionFactory() {
+ private static ActiveMQConnectionFactory createConnectionFactory() {
ActiveMQConnectionFactory connectionFactory
= new ActiveMQConnectionFactory("vm://JmsServiceTest");
connectionFactory.setUserName("karaf");
@@ -74,17 +74,21 @@ public class JmsServiceTest extends CXFOSGiTestSupport {
public Option[] config() {
return new Option[] {
cxfBaseConfig(),
- testUtils(),
- features(springLegacyUrl, "spring/4.3.18.RELEASE_1"),
+ features(karafUrl, "aries-blueprint", "shell-compat"),
features(cxfUrl, "cxf-core", "cxf-jaxws", "cxf-transports-jms"),
- features(amqUrl, "aries-blueprint", "shell-compat",
"activemq-broker-noweb"),
+ features(springLegacyUrl, "spring/4.3.18.RELEASE_1"),
+ features(amqUrl, "activemq-broker-noweb"),
provision(serviceBundle())
};
}
- private InputStream serviceBundle() {
- return
TinyBundles.bundle().add(JmsTestActivator.class).add(Greeter.class).add(GreeterImpl.class)
- .set(Constants.BUNDLE_ACTIVATOR,
JmsTestActivator.class.getName()).build(TinyBundles.withBnd());
+ private static InputStream serviceBundle() {
+ return TinyBundles.bundle()
+ .add(JmsTestActivator.class)
+ .add(Greeter.class)
+ .add(GreeterImpl.class)
+ .set(Constants.BUNDLE_ACTIVATOR,
JmsTestActivator.class.getName())
+ .build(TinyBundles.withBnd());
}
}
diff --git
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsTestActivator.java
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsTestActivator.java
index 44fc44f..e9a97ce 100644
---
a/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsTestActivator.java
+++
b/osgi/itests/src/test/java/org/apache/cxf/osgi/itests/soap/JmsTestActivator.java
@@ -25,13 +25,11 @@ import javax.jms.ConnectionFactory;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
-import org.apache.cxf.testutil.common.TestUtil;
import org.apache.cxf.transport.jms.ConnectionFactoryFeature;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class JmsTestActivator implements BundleActivator {
- public static final String PORT =
TestUtil.getPortNumber(JmsTestActivator.class);
private Server server;
@Override