01: package org.nanocontainer.webcontainer;
02:
03: import java.io.File;
04: import java.io.IOException;
05:
06: import org.mortbay.jetty.webapp.WebAppContext;
07: import org.picocontainer.defaults.DefaultPicoContainer;
08:
09: public class DependencyInjectionServletWarFileTestCase extends
10: WebContainerTestCase {
11:
12: PicoJettyServer server;
13:
14: protected void tearDown() throws Exception {
15: if (server != null) {
16: server.stop();
17: }
18: }
19:
20: public void testCanInstantiateWebContainerContextAndServlet()
21: throws InterruptedException, IOException {
22:
23: File testWar = TestHelper.getTestWarFile();
24:
25: final DefaultPicoContainer parentContainer = new DefaultPicoContainer();
26: parentContainer.registerComponentInstance(String.class, "Fred");
27: StringBuffer sb = new StringBuffer();
28: parentContainer.registerComponentInstance(StringBuffer.class,
29: sb);
30: parentContainer.registerComponentInstance(Integer.class,
31: new Integer(5));
32:
33: server = new PicoJettyServer("localhost", 8080, parentContainer);
34: WebAppContext wac = server.addWebApplication("/bar", testWar
35: .getAbsolutePath().replace('\\', '/'));
36: assertNotNull(wac);
37:
38: server.start();
39:
40: assertEquals("hello Fred bar",
41: getPage("http://localhost:8080/bar/foo"));
42:
43: assertEquals("-contextInitialized", sb.toString());
44:
45: }
46:
47: public void testCanHostJspPage() throws InterruptedException,
48: IOException {
49:
50: File testWar = TestHelper.getTestWarFile();
51:
52: final DefaultPicoContainer parentContainer = new DefaultPicoContainer();
53: parentContainer.registerComponentInstance(String.class, "Fred");
54: parentContainer.registerComponentInstance(StringBuffer.class,
55: new StringBuffer());
56: parentContainer.registerComponentInstance(Integer.class,
57: new Integer(5));
58:
59: server = new PicoJettyServer("localhost", 8080, parentContainer);
60: WebAppContext wac = server.addWebApplication("/bar", testWar
61: .getAbsolutePath().replace('\\', '/'));
62: assertNotNull(wac);
63:
64: server.start();
65:
66: assertEquals("<HTML>\n" + " <HEAD>\n"
67: + " <TITLE>Test JSP</TITLE>\n" + " </HEAD>\n"
68: + " <BODY>\n" + " hello\n" + " </BODY>\n"
69: + "</HTML>",
70: getPage("http://localhost:8080/bar/test.jsp"));
71:
72: }
73:
74: }
|