blob: 525d24b3d7bd69e6759a480dea435a02306b523d [file] [log] [blame]
package de.ids_mannheim.korap.config;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletContainer;
import org.glassfish.jersey.test.DeploymentContext;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.ServletDeploymentContext;
import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
import org.glassfish.jersey.test.spi.TestContainerException;
import org.glassfish.jersey.test.spi.TestContainerFactory;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-config-lite.xml")
public abstract class LiteJerseyTest extends JerseyTest{
public static final String API_VERSION = "v1.0";
@Autowired
protected GenericApplicationContext applicationContext;
public static String[] classPackages =
new String[] {
"de.ids_mannheim.korap.core.web",
"de.ids_mannheim.korap.web.filter",
"de.ids_mannheim.korap.web.utils",
"de.ids_mannheim.korap.test",
"com.fasterxml.jackson.jaxrs.json"};
@Override
protected TestContainerFactory getTestContainerFactory ()
throws TestContainerException {
return new GrizzlyWebTestContainerFactory();
}
@Override
public void setUp () throws Exception {
GenericWebApplicationContext genericContext =
new GenericWebApplicationContext();
genericContext.setParent(this.applicationContext);
genericContext.setClassLoader(this.applicationContext.getClassLoader());
StaticContextLoaderListener.applicationContext = genericContext;
super.setUp();
}
@Override
protected DeploymentContext configureDeployment() {
return ServletDeploymentContext
.forServlet(new ServletContainer(new ResourceConfig().packages(classPackages)))
.addListener(StaticContextLoaderListener.class)
.contextParam("adminToken", "secret")
.build();
}
}