Simplified JerseyTest in lite version.
Change-Id: I1401bca7add1d79245bfd18d38e580ad8b822ffe
diff --git a/full/src/test/java/de/ids_mannheim/korap/web/FastJerseyTest.java b/full/src/test/java/de/ids_mannheim/korap/web/FastJerseyTest.java
index aa7657a..3ac9366 100644
--- a/full/src/test/java/de/ids_mannheim/korap/web/FastJerseyTest.java
+++ b/full/src/test/java/de/ids_mannheim/korap/web/FastJerseyTest.java
@@ -1,20 +1,119 @@
package de.ids_mannheim.korap.web;
+import java.net.URI;
import java.util.concurrent.ThreadLocalRandom;
-import org.junit.Before;
+import javax.ws.rs.core.UriBuilder;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.springframework.web.context.ContextLoaderListener;
+
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.core.DefaultResourceConfig;
+import com.sun.jersey.spi.spring.container.servlet.SpringServlet;
+import com.sun.jersey.test.framework.AppDescriptor;
+import com.sun.jersey.test.framework.LowLevelAppDescriptor;
+import com.sun.jersey.test.framework.WebAppDescriptor;
+import com.sun.jersey.test.framework.spi.container.TestContainer;
+import com.sun.jersey.test.framework.spi.container.TestContainerFactory;
+import com.sun.jersey.test.framework.spi.container.grizzly.GrizzlyTestContainerFactory;
+import com.sun.jersey.test.framework.spi.container.grizzly.web.GrizzlyWebTestContainerFactory;
+
+import de.ids_mannheim.korap.config.BeanConfigBaseTest;
import de.ids_mannheim.korap.config.ContextHolder;
import de.ids_mannheim.korap.config.TestHelper;
-import de.ids_mannheim.korap.web.service.FastJerseyBaseTest;
-public abstract class FastJerseyTest extends FastJerseyBaseTest {
+public abstract class FastJerseyTest extends BeanConfigBaseTest{
private static String[] classPackages =
new String[] { "de.ids_mannheim.korap.web.service.full",
"de.ids_mannheim.korap.web.filter",
"de.ids_mannheim.korap.web.utils" };
+ private final static String API_VERSION = "v0.1";
+
+ private static DefaultResourceConfig resourceConfig =
+ new DefaultResourceConfig();
+
+ private static TestContainerFactory testContainerFactory;
+
+ protected static TestContainer testContainer;
+
+ protected static Client client;
+
+ protected static int PORT = 8089; // FB, was: 9000;
+ protected static int PORT_IT = 1;
+ protected static String containerURI = "http://localhost/";
+
+ public String getAPIVersion () {
+ return API_VERSION;
+ }
+
+ public static void setTestContainerFactory (
+ TestContainerFactory newTestContainerFactory) {
+ testContainerFactory = newTestContainerFactory;
+ }
+
+
+ @BeforeClass
+ public static void cleanStaticVariables () {
+ resourceConfig = new DefaultResourceConfig();
+ }
+
+
+ protected static void initServer (int port, String[] classPackages) {
+ AppDescriptor ad;
+ if (classPackages == null)
+ ad = new LowLevelAppDescriptor.Builder(resourceConfig).build();
+ else
+ ad = new WebAppDescriptor.Builder(classPackages)
+ .servletClass(SpringServlet.class)
+ .contextListenerClass(ContextLoaderListener.class)
+ .contextParam("contextConfigLocation", "classpath:test-config.xml")
+ .build();
+
+ TestContainerFactory tcf = testContainerFactory;
+ if (tcf == null) {
+ if (classPackages == null)
+ tcf = new GrizzlyTestContainerFactory();
+ else
+ tcf = new GrizzlyWebTestContainerFactory();
+ }
+
+ testContainer = tcf.create(
+ UriBuilder.fromUri(containerURI).port(port).build(), ad);
+ client = testContainer.getClient();
+ if (client == null) {
+ client = Client.create(ad.getClientConfig());
+ }
+ }
+
+ @After
+ public void stopServer () {
+
+ testContainer.stop();
+ testContainer = null;
+ client = null;
+ }
+
+
+ public Client client () {
+ return client;
+ }
+
+
+ public URI getBaseUri () {
+ return testContainer.getBaseUri();
+ }
+
+
+ public WebResource resource () {
+ return client.resource(getBaseUri());
+ }
+
protected TestHelper helper () {
try {
return TestHelper.newInstance(this.context);