1 package org.nanocontainer.webcontainer; 2 3 import java.io.IOException ; 4 import java.io.File ; 5 import java.net.URL ; 6 7 import junit.framework.TestCase; 8 9 import org.mortbay.jetty.webapp.WebAppContext; 10 import org.mortbay.util.IO; 11 import org.picocontainer.defaults.DefaultPicoContainer; 12 13 public class DependencyInjectionServletWarFileTestCase extends TestCase { 14 15 PicoJettyServer server; 16 protected void tearDown() throws Exception { 17 if (server != null) { 18 server.stop(); 19 } 20 Thread.sleep(1 * 1000); 21 } 22 23 public void testCanInstantiateWebContainerContextAndServlet() 24 throws InterruptedException , IOException { 25 26 File testWar = TestHelper.getTestWarFile(); 27 28 final DefaultPicoContainer parentContainer = new DefaultPicoContainer(); 29 parentContainer.registerComponentInstance(String .class, "Fred"); 30 StringBuffer sb = new StringBuffer (); 31 parentContainer.registerComponentInstance(StringBuffer .class, sb); 32 parentContainer.registerComponentInstance(Integer .class, new Integer (5)); 33 34 server = new PicoJettyServer("localhost", 8080, parentContainer); 35 WebAppContext wac = server.addWebApplication("/bar", testWar.getAbsolutePath().replace('\\','/')); 36 assertNotNull(wac); 37 38 server.start(); 39 40 Thread.sleep(2 * 1000); 41 42 URL url = new URL ("http://localhost:8080/bar/foo"); 43 assertEquals("hello Fred bar", IO.toString(url.openStream())); 44 45 assertEquals("-contextInitialized", sb.toString()); 46 47 } 48 49 public void testCanHostJspPage() 50 throws InterruptedException , IOException { 51 52 File testWar = TestHelper.getTestWarFile(); 53 54 final DefaultPicoContainer parentContainer = new DefaultPicoContainer(); 55 parentContainer.registerComponentInstance(String .class, "Fred"); 56 parentContainer.registerComponentInstance(StringBuffer .class, new StringBuffer ()); 57 parentContainer.registerComponentInstance(Integer .class, new Integer (5)); 58 59 server = new PicoJettyServer("localhost", 8080, parentContainer); 60 WebAppContext wac = server.addWebApplication("/bar", testWar.getAbsolutePath().replace('\\','/')); 61 assertNotNull(wac); 62 63 server.start(); 64 65 Thread.sleep(2 * 1000); 66 67 URL url = new URL ("http://localhost:8080/bar/test.jsp"); 68 assertEquals("<HTML>\n" + 69 " <HEAD>\n" + 70 " <TITLE>Test JSP</TITLE>\n" + 71 " </HEAD>\n" + 72 " <BODY>\n" + 73 " hello\n" + 74 " </BODY>\n" + 75 "</HTML>", IO.toString(url.openStream())); 76 77 78 } 79 80 81 } 82 | Popular Tags |