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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]