package com.googlecode.mycontainer.commons; import java.util.Random; import javax.naming.InitialContext; import org.apache.http.client.HttpClient; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; import org.eclipse.jetty.server.session.HashSessionIdManager; import org.junit.After; import org.junit.Before; import com.googlecode.mycontainer.commons.httpclient.WebClient; import com.googlecode.mycontainer.kernel.ShutdownCommand; import com.googlecode.mycontainer.kernel.boot.ContainerBuilder; import com.googlecode.mycontainer.web.ContextWebServer; import com.googlecode.mycontainer.web.FilterDesc; import com.googlecode.mycontainer.web.jetty.JettyServerDeployer; public class AbstractWebTestCase { protected ContainerBuilder builder; protected InitialContext ctx; @Before public void boot() throws Exception { builder = new ContainerBuilder(); ctx = builder.getContext(); builder.deployVMShutdownHook(); JettyServerDeployer webServer = builder.createDeployer(JettyServerDeployer.class); webServer.bindPort(8380); webServer.getServer().setSessionIdManager(new HashSessionIdManager(new Random())); webServer.setName("WebServer"); ContextWebServer webContext = webServer.createContextWebServer(); webServer.getServer().setSessionIdManager(new HashSessionIdManager(new Random())); webContext.setContext("/"); webContext.getFilters().add(new FilterDesc(ReplyFilter.class, "/reply")); webServer.deploy(); } @After public void shutdown() throws Exception { ShutdownCommand shutdown = new ShutdownCommand(); shutdown.setContext(new InitialContext()); shutdown.shutdown(); } public WebClient createWebClient() { WebClient ret = new WebClient(); ret.setTimeout(2000l); ret.setUrl("http://localhost:8380/"); return ret; } public HttpClient createHttpClient() { DefaultHttpClient ret = new DefaultHttpClient(new ThreadSafeClientConnManager()); return ret; } }