[CVS spice] Added more tests.

sjoberg-yCVjj/[email protected] 22 Sep 2005 22:25:41 -0000
Newsgroups gmane.comp.java.spice.cvs
Message-ID <[email protected]>
<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>spice/components/jervlet/src/test/org/codehaus/spice/jervlet/containers/jetty</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">ShieldingJettyContainerTestCase.java</a></tt></td><td align="right" id="added">+301</td><td align="right" id="removed">-1</td><td nowrap="nowrap" align="center">1.2 -&gt; 1.3</td></tr>
</table>
<pre class="comment">
Added more tests.
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname">spice/components/jervlet/src/test/org/codehaus/spice/jervlet/containers/jetty<br /></span>
<div class="fileheader"><big><b>ShieldingJettyContainerTestCase.java</b></big> <small id="info">1.2 -&gt; 1.3</small></div>
<pre class="diff"><small id="info">diff -u -r1.2 -r1.3
--- ShieldingJettyContainerTestCase.java	22 Sep 2005 12:12:06 -0000	1.2
+++ ShieldingJettyContainerTestCase.java	22 Sep 2005 22:25:41 -0000	1.3
@@ -10,6 +10,29 @@
</small></pre><pre class="diff" id="context"> import junit.framework.TestCase;
 
 import java.util.Properties;
</pre><pre class="diff" id="added">+import java.io.File;
+
+import com.meterware.httpunit.WebConversation;
+import com.meterware.httpunit.WebRequest;
+import com.meterware.httpunit.GetMethodWebRequest;
+import com.meterware.httpunit.WebResponse;
+
+import org.codehaus.spice.jervlet.Context;
+import org.codehaus.spice.jervlet.Listener;
+import org.codehaus.spice.jervlet.ContextHandler;
+
+import org.codehaus.spice.jervlet.impl.Pinger;
+import org.codehaus.spice.jervlet.impl.DefaultListener;
+import org.codehaus.spice.jervlet.impl.DefaultContext;
+import org.codehaus.spice.jervlet.impl.StandardServletInstantiator;
+import org.codehaus.spice.jervlet.impl.dna.DNAInstantiator;
+import org.codehaus.spice.jervlet.impl.avalon.AvalonInstantiator;
+import org.codehaus.spice.jervlet.impl.pico.PicoInstantiator;
+
+import org.picocontainer.defaults.DefaultPicoContainer;
+import org.codehaus.dna.impl.DefaultResourceLocator;
+import org.apache.avalon.framework.logger.ConsoleLogger;
+import org.apache.avalon.framework.service.DefaultServiceManager;
</pre><pre class="diff" id="context"> 
 /**
  * TestCase for ShieldingJettyContainer
</pre><pre class="diff"><small id="info">@@ -18,7 +41,16 @@
</small></pre><pre class="diff" id="context">  */
 public class ShieldingJettyContainerTestCase extends TestCase
 {
</pre><pre class="diff" id="removed">-    private static final String DEFAULT_CONFIGURATION = "../../testdata/jetty/jetty.xml";
</pre><pre class="diff" id="added">+    private static final String DEFAULT_CONFIGURATION =
+      "../../testdata/jetty/jetty.xml";
+    private static final String m_plainWebapp =
+      "../../testdata/webapps/plain";
+    private static final String m_avalonWebapp =
+      "../../testdata/webapps/avalon";
+    private static final String m_dnaWebapp =
+      "../../testdata/webapps/dna";
+    private static final String m_picoWebapp =
+      "../../testdata/webapps/pico";
</pre><pre class="diff" id="context"> 
     /**
      * Test a dafault plain Jetty, no conf but with the
</pre><pre class="diff"><small id="info">@@ -46,6 +78,24 @@
</small></pre><pre class="diff" id="context">         container.setJettyConfiguration( DEFAULT_CONFIGURATION );
         container.initialize();
         container.start();
</pre><pre class="diff" id="added">+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:10080/plain/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "plain", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:10080/plain/plain-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:10080/plain/plain-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestFilter "
+          + "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
</pre><pre class="diff" id="context">         container.stop();
     }
 
</pre><pre class="diff"><small id="info">@@ -64,6 +114,256 @@
</small></pre><pre class="diff" id="context">         container.addJettyProperties( properties );
         container.initialize();
         container.start();
</pre><pre class="diff" id="added">+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:10081/plain/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "plain", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:10081/plain/plain-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:10081/plain/plain-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestFilter "
+          + "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
+        container.stop();
+    }
+
+    /**
+     * Test if pico-servlet components gets instantiated
+     *
+     * @throws Exception on all errors
+     */
+    public void testPlainContext() throws Exception
+    {
+        Context context = new DefaultContext( "plain",
+                                              null,
+                                              (new File( m_plainWebapp )).toURL(),
+                                              false,
+                                              new StandardServletInstantiator() );
+
+        ShieldingJettyContainer container = new ShieldingJettyContainer();
+        container.initialize();
+        container.start();
+
+        Listener listener = new DefaultListener( null, 16842, Listener.HTTP );
+        container.addListener( listener );
+        container.startListener( listener );
+
+        ContextHandler contextHandler = container.createContextHandler();
+        contextHandler.addContext( context );
+        contextHandler.startContext( context );
+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:16842/plain/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "plain", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:16842/plain/plain-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
+        conversation = new WebConversation();
+        request = new GetMethodWebRequest( "http://localhost:16842/plain/plain-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.PlainTestFilter "
+          +  "org.codehaus.spice.jervlet.impl.PlainTestServlet", responseBody );
+
+        container.stop();
+    }
+
+
+    /**
+     * Test if pico-servlet components gets instantiated
+     *
+     * @throws Exception on all errors
+     */
+    public void testPicoContext() throws Exception
+    {
+        Pinger pinger = new Pinger();
+        String message = Long.toString( System.currentTimeMillis() );
+        pinger.ping( message );
+
+        DefaultPicoContainer pico = new DefaultPicoContainer();
+        pico.registerComponentInstance(  pinger );
+
+        Context context = new DefaultContext( "pico",
+                                              null,
+                                              (new File( m_picoWebapp )).toURL(),
+                                              false,
+                                              new PicoInstantiator( pico ) );
+
+        ShieldingJettyContainer container = new ShieldingJettyContainer();
+        container.initialize();
+        container.start();
+
+        Listener listener = new DefaultListener( null, 16842, Listener.HTTP );
+        container.addListener( listener );
+        container.startListener( listener );
+
+        ContextHandler contextHandler = container.createContextHandler();
+        contextHandler.addContext( context );
+        contextHandler.startContext( context );
+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:16842/pico/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "pico", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:16842/pico/pico-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.pico.PicoTestServlet "
+          + message, responseBody );
+
+        conversation = new WebConversation();
+        request = new GetMethodWebRequest( "http://localhost:16842/pico/pico-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.pico.PicoTestFilter "
+          + message +  " org.codehaus.spice.jervlet.impl.pico.PicoTestServlet "
+          + message, responseBody );
+
+        container.stop();
+
+        assertEquals( "org.codehaus.spice.jervlet.impl.pico.PicoTestFilter "
+          + message, pinger.getMessages().get( 1 ) );
+        assertEquals( "org.codehaus.spice.jervlet.impl.pico.PicoTestServlet "
+          + message, pinger.getMessages().get( 2 ) );
+    }
+
+    /**
+     * Test if avalon-servlet components gets instantiated
+     *
+     * @throws Exception on all errors
+     */
+    public void testAvalonContext() throws Exception
+    {
+        Pinger pinger = new Pinger();
+        String message = Long.toString( System.currentTimeMillis() );
+        pinger.ping( message );
+
+        DefaultServiceManager serviceManager = new DefaultServiceManager();
+        serviceManager.put( "pinger", pinger );
+
+        Context context = new DefaultContext( "avalon", null, (new File( m_avalonWebapp )).toURL(),
+          false, new AvalonInstantiator( new org.apache.avalon.framework.context.DefaultContext(),
+          serviceManager, new ConsoleLogger() ) );
+
+        ShieldingJettyContainer container = new ShieldingJettyContainer();
+        container.initialize();
+        container.start();
+
+        Listener listener = new DefaultListener( null, 16842, Listener.HTTP );
+        container.addListener( listener );
+        container.startListener( listener );
+
+        ContextHandler contextHandler = container.createContextHandler();
+        contextHandler.addContext( context );
+        contextHandler.startContext( context );
+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:16842/avalon/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "avalon", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:16842/avalon/avalon-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.avalon.AvalonTestServlet "
+          + message, responseBody );
+
+        conversation = new WebConversation();
+        request = new GetMethodWebRequest( "http://localhost:16842/avalon/avalon-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.avalon.AvalonTestFilter "
+          + message +  " org.codehaus.spice.jervlet.impl.avalon.AvalonTestServlet "
+          + message, responseBody );
+
</pre><pre class="diff" id="context">         container.stop();
</pre><pre class="diff" id="added">+
+        assertEquals( "org.codehaus.spice.jervlet.impl.avalon.AvalonTestFilter "
+          + message, pinger.getMessages().get( 1 ) );
+        assertEquals( "org.codehaus.spice.jervlet.impl.avalon.AvalonTestServlet "
+          + message, pinger.getMessages().get( 2 ) );
+    }
+
+    /**
+     * Test if dna-servlet components gets instantiated
+     *
+     * @throws Exception on all errors
+     */
+    public void testDNAContext() throws Exception
+    {
+        Pinger pinger = new Pinger();
+        String message = Long.toString( System.currentTimeMillis() );
+        pinger.ping( message );
+
+        DefaultResourceLocator resourceLocator = new DefaultResourceLocator();
+        resourceLocator.put( "pinger", pinger );
+
+        Context context = new DefaultContext( "dna", null,
+          (new File( m_dnaWebapp )).toURL(),
+          false, new DNAInstantiator( resourceLocator,
+          new org.codehaus.dna.impl.ConsoleLogger() ) );
+
+        ShieldingJettyContainer container = new ShieldingJettyContainer();
+        container.initialize();
+        container.start();
+
+        Listener listener = new DefaultListener( null, 16842, Listener.HTTP );
+        container.addListener( listener );
+        container.startListener( listener );
+
+        ContextHandler contextHandler = container.createContextHandler();
+        contextHandler.addContext( context );
+        contextHandler.startContext( context );
+
+        WebConversation conversation = new WebConversation();
+        WebRequest request = new GetMethodWebRequest( "http://localhost:16842/dna/message.txt" );
+        WebResponse response = conversation.getResponse( request );
+        String responseBody = response.getText();
+        assertEquals(  "dna", responseBody );
+
+        request = new GetMethodWebRequest( "http://localhost:16842/dna/dna-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.dna.DNATestServlet "
+          + message, responseBody );
+
+        conversation = new WebConversation();
+        request = new GetMethodWebRequest( "http://localhost:16842/dna/dna-filter-servlet" );
+        response = conversation.getResponse( request );
+        responseBody = response.getText();
+
+        assertEquals(  "org.codehaus.spice.jervlet.impl.dna.DNATestFilter "
+          + message +  " org.codehaus.spice.jervlet.impl.dna.DNATestServlet "
+          + message, responseBody );
+
+        container.stop();
+
+        assertEquals( "org.codehaus.spice.jervlet.impl.dna.DNATestFilter "
+          + message, pinger.getMessages().get( 1 ) );
+        assertEquals( "org.codehaus.spice.jervlet.impl.dna.DNATestServlet "
+          + message, pinger.getMessages().get( 2 ) );
</pre><pre class="diff" id="context">     }
 }
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.8</small></center>
</body></html>