You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by gv...@apache.org on 2005/09/18 18:37:54 UTC

svn commit: r289945 - in /struts/shale/trunk: clay-plugin/src/test/org/apache/shale/clay/config/ test-framework/src/java/org/apache/shale/test/mock/ use-cases/src/test/org/apache/shale/usecases/remote/ use-cases/src/test/org/apache/shale/usecases/rolodex/

Author: gvanmatre
Date: Sun Sep 18 09:37:42 2005
New Revision: 289945

URL: http://svn.apache.org/viewcvs?rev=289945&view=rev
Log:
Extended the Mock ServletContext and Response. Refactored a few test cases to use the new mock implementations.

Modified:
    struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
    struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java
    struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java
    struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java
    struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java
    struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java
    struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java

Modified: struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java (original)
+++ struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java Sun Sep 18 09:37:42 2005
@@ -15,9 +15,6 @@
  */
 package org.apache.shale.clay.config;
 
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
 import java.util.Iterator;
 
 import junit.framework.Test;
@@ -31,7 +28,6 @@
 import org.apache.shale.clay.config.beans.ElementBean;
 import org.apache.shale.clay.config.beans.TemplateConfigBean;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockServletContext;
 
 // Tests that the clay component metadata can be loaded and inheritance resolved.
 public class ConfigTestCase extends AbstractViewControllerTestCase {
@@ -121,39 +117,6 @@
         loadComponents();
         loadConverters();
         loadValidators();
-
-        // create an anonymous extension
-        servletContext = new MockServletContext() {
-            public InputStream getResourceAsStream(String path) {
-
-                // Return a corresponding class loader resource
-                ClassLoader classloader = Thread.currentThread()
-                        .getContextClassLoader();
-                if (classloader == null)
-                    classloader = this.getClass().getClassLoader();
-
-                return classloader.getResourceAsStream(path);
-
-            };
-            
-            public URL getResource(String path) throws MalformedURLException {
-
-                StringBuffer tmp = new StringBuffer(path);
-                if (tmp.charAt(0) == '/')
-                   tmp.delete(0, 1);
-                
-                // Return a corresponding class loader resource
-                ClassLoader classloader = Thread.currentThread()
-                        .getContextClassLoader();
-                if (classloader == null)
-                    classloader = this.getClass().getClassLoader();
-                
-                URL url = classloader.getResource(tmp.toString());
-                return url;
-
-            }
-
-        };
         
         // sets the default html template suffix ".html"
         servletContext.addInitParameter(Globals.CLAY_TEMPLATE_SUFFIX, ".html");

Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java (original)
+++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockHttpServletResponse.java Sun Sep 18 09:37:42 2005
@@ -18,7 +18,9 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.io.Writer;
 import java.util.Locale;
+
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletResponse;
@@ -49,6 +51,7 @@
 
     private String encoding = "ISO-8859-1";
     private String contentType = "text/html";
+    private PrintWriter writer = null;
 
 
     // -------------------------------------------- HttpServletResponse Methods
@@ -218,10 +221,12 @@
     }
 
 
+    public void setWriter(PrintWriter writer) {
+       this.writer = writer;
+    }
+    
     public PrintWriter getWriter() throws IOException {
-
-        throw new UnsupportedOperationException();
-
+        return writer;     
     }
 
 

Modified: struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java (original)
+++ struts/shale/trunk/test-framework/src/java/org/apache/shale/test/mock/MockServletContext.java Sun Sep 18 09:37:42 2005
@@ -168,7 +168,18 @@
     public URL getResource(String path) throws MalformedURLException {
 
         // Return a corresponding class loader resource
-        return this.getClass().getResource(path);
+        StringBuffer tmp = new StringBuffer(path);
+        if (tmp.charAt(0) == '/')
+           tmp.delete(0, 1);
+        
+        // Return a corresponding class loader resource
+        ClassLoader classloader = Thread.currentThread()
+                .getContextClassLoader();
+        if (classloader == null)
+            classloader = this.getClass().getClassLoader();
+        
+        URL url = classloader.getResource(tmp.toString());
+        return url;
 
     }
 

Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListCategoriesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
 package org.apache.shale.usecases.remote;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.ArrayList;
@@ -37,7 +36,6 @@
 import org.apache.shale.faces.ShaleWebContext;
 import org.apache.shale.remote.RemoteCommand;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
 import org.apache.shale.usecases.view.Domains;
 import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
         // response buffer
         dataPickle = new StringWriter();
         responseWriter = new PrintWriter(dataPickle);
-        response = new MockHttpServletResponse() {
-            public PrintWriter getWriter() throws IOException {
-                return responseWriter;
-            };
-        };
+        response.setWriter(responseWriter);
 
         // create a fake shale context
         swcontext = new ShaleWebContext(servletContext,

Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListLocalesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
 package org.apache.shale.usecases.remote;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.ArrayList;
@@ -37,7 +36,6 @@
 import org.apache.shale.faces.ShaleWebContext;
 import org.apache.shale.remote.RemoteCommand;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
 import org.apache.shale.usecases.view.Domains;
 import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
         // response buffer
         dataPickle = new StringWriter();
         responseWriter = new PrintWriter(dataPickle);
-        response = new MockHttpServletResponse() {
-            public PrintWriter getWriter() throws IOException {
-                return responseWriter;
-            };
-        };
+        response.setWriter(responseWriter);
 
         // create a fake shale context
         swcontext = new ShaleWebContext(servletContext,

Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/remote/ListStateNamesTestCase.java Sun Sep 18 09:37:42 2005
@@ -17,7 +17,6 @@
 package org.apache.shale.usecases.remote;
 
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.ArrayList;
@@ -37,7 +36,6 @@
 import org.apache.shale.faces.ShaleWebContext;
 import org.apache.shale.remote.RemoteCommand;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockHttpServletResponse;
 import org.apache.shale.usecases.view.Domains;
 import org.w3c.dom.Document;
 import org.w3c.dom.NodeList;
@@ -96,11 +94,7 @@
         // response buffer
         dataPickle = new StringWriter();
         responseWriter = new PrintWriter(dataPickle);
-        response = new MockHttpServletResponse() {
-            public PrintWriter getWriter() throws IOException {
-                return responseWriter;
-            };
-        };
+        response.setWriter(responseWriter);
 
         // create a fake shale context
         swcontext = new ShaleWebContext(servletContext,

Modified: struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java
URL: http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java?rev=289945&r1=289944&r2=289945&view=diff
==============================================================================
--- struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java (original)
+++ struts/shale/trunk/use-cases/src/test/org/apache/shale/usecases/rolodex/RolodexTestCase.java Sun Sep 18 09:37:42 2005
@@ -4,8 +4,6 @@
 import java.net.URLEncoder;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
 
 import javax.faces.el.ValueBinding;
 
@@ -15,7 +13,6 @@
 import org.apache.shale.clay.component.Clay;
 import org.apache.shale.clay.config.beans.ComponentBean;
 import org.apache.shale.test.base.AbstractViewControllerTestCase;
-import org.apache.shale.test.mock.MockExternalContext;
 
 public class RolodexTestCase extends AbstractViewControllerTestCase {
 
@@ -36,30 +33,6 @@
     // setup the test case
     public void setUp() {
         super.setUp();
-
-        // add some more mock support
-        externalContext = new MockExternalContext(servletContext, request,
-                response) {
-            public Map getRequestParameterMap() {
-                Map targetMap = new TreeMap();
-                Map params = request.getParameterMap();
-                Iterator pi = params.entrySet().iterator();
-                while (pi.hasNext()) {
-                    Map.Entry e = (Map.Entry) pi.next();
-                    // holds multiple params with the same name
-                    String[] values = (String[]) e.getValue();
-                    // Simulates clearing the HTTP request. This test
-                    // will only require single parameters but I don't
-                    // want to create a new request each itteration
-                    targetMap.put(e.getKey(), values[values.length - 1]);
-                }
-
-                return targetMap;
-            }
-
-        };
-        // hookup an new reference
-        facesContext.setExternalContext(externalContext);
 
         // create the target view controller to test
         viewController = new Rolodex();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org