[Httpunit-commit] CVS: httpunit/test/com/meterware/servletunit FiltersTest.java,NONE,1.1 HttpServlet
Brought to you by:
russgold
Update of /cvsroot/httpunit/httpunit/test/com/meterware/servletunit In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12499/test/com/meterware/servletunit Modified Files: HttpServletRequestTest.java RequestDispatcherTest.java ServletUnitSuite.java WebXMLString.java Added Files: FiltersTest.java Log Message: Added support for Servlet 2.3 filters ***** Error reading new file[Errno 2] No such file or directory: 'FiltersTest.java' Index: HttpServletRequestTest.java =================================================================== RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/HttpServletRequestTest.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- HttpServletRequestTest.java 24 Mar 2003 03:22:11 -0000 1.18 +++ HttpServletRequestTest.java 26 Feb 2004 17:36:47 -0000 1.19 @@ -19,10 +19,7 @@ * DEALINGS IN THE SOFTWARE. * *******************************************************************************************************************/ -import java.util.Enumeration; -import java.util.Hashtable; -import java.util.Map; -import java.util.Locale; +import java.util.*; import java.net.MalformedURLException; import java.io.InputStream; import java.io.ByteArrayInputStream; @@ -439,6 +436,11 @@ public String getPathInfo() { return null; } + + + public FilterMetaData[] getFilters() { + return null; + } }; } Index: RequestDispatcherTest.java =================================================================== RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/RequestDispatcherTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- RequestDispatcherTest.java 13 Feb 2003 20:25:56 -0000 1.2 +++ RequestDispatcherTest.java 26 Feb 2004 17:36:47 -0000 1.3 @@ -74,6 +74,7 @@ public void testRequestDispatcherParameters() throws Exception { InvocationContext ic = _runner.newClient().newInvocation( "http://localhost/sample/" + outerServletName + "?param=original¶m1=first" ); + final HttpServletRequest request = ic.getRequest(); final HttpServletResponse response = ic.getResponse(); RequestDispatcherServlet servlet = (RequestDispatcherServlet) ic.getServlet(); Index: ServletUnitSuite.java =================================================================== RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/ServletUnitSuite.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ServletUnitSuite.java 23 Feb 2004 03:10:42 -0000 1.9 +++ ServletUnitSuite.java 26 Feb 2004 17:36:47 -0000 1.10 @@ -47,6 +47,7 @@ suite.addTest( ConfigTest.suite() ); suite.addTest( WebXMLTest.suite() ); suite.addTest( ListenersTest.suite() ); + suite.addTest( FiltersTest.suite() ); suite.addTest( RequestContextTest.suite() ); suite.addTest( RequestDispatcherTest.suite() ); addOptionalTestCase( suite, "com.meterware.servletunit.JUnitServletTest" ); Index: WebXMLString.java =================================================================== RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/WebXMLString.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- WebXMLString.java 13 Feb 2004 03:17:46 -0000 1.4 +++ WebXMLString.java 26 Feb 2004 17:36:47 -0000 1.5 @@ -38,11 +38,17 @@ private ArrayList _servlets = new ArrayList(); private ArrayList _mappings = new ArrayList(); private ArrayList _servletNames = new ArrayList(); + private Hashtable _initParams = new Hashtable(); + private ArrayList _listeners = new ArrayList(); + private ArrayList _filters = new ArrayList(); + private Hashtable _filterMappings = new Hashtable(); + private ArrayList _filterNames = new ArrayList(); + private Hashtable _filterParams = new Hashtable(); + private String _loginConfig = ""; private Hashtable _resources = new Hashtable(); - private Hashtable _initParams = new Hashtable(); private Hashtable _contextParams = new Hashtable(); private Hashtable _loadOnStartup = new Hashtable(); @@ -60,6 +66,17 @@ result.append( " <context-param>\n <param-name>" ).append( entry.getKey() ); result.append( "</param-name>\n <param-value>" ).append( entry.getValue() ).append( "</param-value>\n </context-param>\n" ); } + for (int i = 0; i < _filters.size(); i++) { + Object name = _filterNames.get( i ); + result.append( " <filter>\n <filter-name>" ).append( name ).append( "</filter-name>\n" ); + result.append( " <filter-class>" ).append( ((Class) _filters.get( i )).getName() ).append( "</filter-class>\n" ); + appendParams( result, "init-param", (Hashtable) _filterParams.get( name ) ); + result.append( " </filter>\n" ); + } + for (int i = 0; i < _filters.size(); i++) { + result.append( " <filter-mapping>\n <filter-name>" ).append( _filterNames.get( i ) ).append( "</filter-name>\n" ); + result.append( " " ).append( _filterMappings.get( _filterNames.get( i ) ) ).append( "\n </filter-mapping>\n" ); + } for (int i = 0; i < _listeners.size(); i++) { Class aClass = (Class) _listeners.get( i ); result.append( " <listener><listener-class>" ).append( aClass.getName() ); @@ -120,8 +137,6 @@ _mappings.add( urlPattern ); _servletNames.add( name ); } - - void addServlet( String name, String urlPattern, Class servletClass, Properties initParams ) { _initParams.put( name, initParams ); addServlet( name, urlPattern, servletClass ); @@ -138,6 +153,29 @@ } + void addFilterForServlet( String name, Class filterClass, String servletName, Properties initParams ) { + _filterParams.put( name, initParams ); + addFilterForServlet( name, filterClass, servletName ); + } + + + void addFilterForServlet( String name, Class filterClass, String servletName ) { + addFilter( filterClass, name, "<servlet-name>" + servletName + "</servlet-name>" ); + } + + + void addFilterForUrl( String name, Class filterClass, String urlPattern ) { + addFilter( filterClass, name, "<url-pattern>" + urlPattern + "</url-pattern>" ); + } + + + private void addFilter( Class filterClass, String name, String mapping ) { + _filters.add( filterClass ); + _filterNames.add( name ); + _filterMappings.put( name, mapping ); + } + + void requireBasicAuthorization( String realmName ) { _loginConfig = " <login-config>\n" + " <auth-method>BASIC</auth-method>\n" + |