[Httpunit-commit] CVS: httpunit/test/com/meterware/servletunit ConfigTest.java,1.1,1.2 NavigationTes
Brought to you by:
russgold
|
From: Russell G. <rus...@us...> - 2001-06-18 20:21:33
|
Update of /cvsroot/httpunit/httpunit/test/com/meterware/servletunit
In directory usw-pr-cvs1:/tmp/cvs-serv14775/test/com/meterware/servletunit
Modified Files:
ConfigTest.java NavigationTest.java StatefulTest.java
StatelessTest.java
Log Message:
Added tests and documentation for ServletUnit
Index: ConfigTest.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/ConfigTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ConfigTest.java 2000/12/13 21:56:03 1.1
+++ ConfigTest.java 2001/06/18 20:21:30 1.2
@@ -2,7 +2,7 @@
/********************************************************************************************************************
* $Id$
*
-* Copyright (c) 2000, Russell Gold
+* Copyright (c) 2000-2001, Russell Gold
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
@@ -59,7 +59,7 @@
WebResponse response = wc.getResponse( "http://localhost/" + resourceName );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "servlet name is " + ConfigServlet.class.getName(), response.toString() );
+ assertEquals( "servlet name is " + ConfigServlet.class.getName(), response.getText() );
}
Index: NavigationTest.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/NavigationTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- NavigationTest.java 2000/12/13 21:56:03 1.1
+++ NavigationTest.java 2001/06/18 20:21:30 1.2
@@ -2,7 +2,7 @@
/********************************************************************************************************************
* $Id$
*
-* Copyright (c) 2000, Russell Gold
+* Copyright (c) 2000-2001, Russell Gold
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
@@ -58,7 +58,7 @@
WebClient wc = sr.newClient();
WebResponse response = wc.getResponse( "http://localhost/origin" );
assertNotNull( "No response received", response );
- assertEquals( "requested resource", TargetServlet.RESPONSE_TEXT, response.toString() );
+ assertEquals( "requested resource", TargetServlet.RESPONSE_TEXT, response.getText() );
assertEquals( "Returned cookie count", 0, response.getNewCookieNames().length );
}
Index: StatefulTest.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/StatefulTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StatefulTest.java 2000/11/21 20:44:59 1.1
+++ StatefulTest.java 2001/06/18 20:21:30 1.2
@@ -2,7 +2,7 @@
/********************************************************************************************************************
* $Id$
*
-* Copyright (c) 2000, Russell Gold
+* Copyright (c) 2000-2001, Russell Gold
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
@@ -56,11 +56,11 @@
ServletRunner sr = new ServletRunner();
sr.registerServlet( resourceName, StatefulServlet.class.getName() );
- WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
+ WebRequest request = new GetMethodWebRequest( "http://localhost/" + resourceName );
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "No session found", response.toString() );
+ assertEquals( "requested resource", "No session found", response.getText() );
assertEquals( "Returned cookie count", 0, response.getNewCookieNames().length );
}
@@ -71,7 +71,7 @@
ServletRunner sr = new ServletRunner();
sr.registerServlet( resourceName, StatefulServlet.class.getName() );
- WebRequest request = new GetMethodWebRequest( "http://localhost/" + resourceName );
+ WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
request.setParameter( "color", "red" );
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
@@ -86,43 +86,120 @@
sr.registerServlet( resourceName, StatefulServlet.class.getName() );
WebClient wc = sr.newClient();
- WebRequest request = new GetMethodWebRequest( "http://localhost/" + resourceName );
+ WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
request.setParameter( "color", "red" );
WebResponse response = wc.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "You selected red", response.toString() );
+ assertEquals( "requested resource", "You selected red", response.getText() );
- request = new PostMethodWebRequest( "http://localhost/" + resourceName );
+ request = new GetMethodWebRequest( "http://localhost/" + resourceName );
response = wc.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "You posted red", response.toString() );
+ assertEquals( "requested resource", "You posted red", response.getText() );
assertEquals( "Returned cookie count", 0, response.getNewCookieNames().length );
}
+ public void testInvocationContext() throws Exception {
+ final String resourceName = "something/interesting";
+
+ ServletRunner sr = new ServletRunner();
+ sr.registerServlet( resourceName, StatefulServlet.class.getName() );
+ ServletUnitClient suc = sr.newClient();
+
+ WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
+ request.setParameter( "color", "red" );
+
+ InvocationContext ic = suc.newInvocation( request );
+ StatefulServlet ss = (StatefulServlet) ic.getServlet();
+ assertNull( "A session already exists", ss.getColor( ic.getRequest() ) );
+
+ ss.setColor( ic.getRequest(), "blue" );
+ assertEquals( "Color in session", "blue", ss.getColor( ic.getRequest() ) );
+ }
+
+
+ public void testInvocationCompletion() throws Exception {
+ final String resourceName = "something/interesting";
+
+ ServletRunner sr = new ServletRunner();
+ sr.registerServlet( resourceName, StatefulServlet.class.getName() );
+ ServletUnitClient suc = sr.newClient();
+
+ WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
+ request.setParameter( "color", "red" );
+
+ InvocationContext ic = suc.newInvocation( request );
+ StatefulServlet ss = (StatefulServlet) ic.getServlet();
+ ss.setColor( ic.getRequest(), "blue" );
+ ss.writeSelectMessage( "blue", ic.getResponse().getWriter() );
+
+ WebResponse response = ic.getServletResponse();
+ assertEquals( "requested resource", "You selected blue", response.getText() );
+ assertEquals( "Returned cookie count", 1, response.getNewCookieNames().length );
+ }
+
+
+ public void testInvocationContextUpdate() throws Exception {
+ final String resourceName = "something/interesting";
+
+ ServletRunner sr = new ServletRunner();
+ sr.registerServlet( resourceName, StatefulServlet.class.getName() );
+ ServletUnitClient suc = sr.newClient();
+
+ WebRequest request = new PostMethodWebRequest( "http://localhost/" + resourceName );
+ request.setParameter( "color", "red" );
+
+ InvocationContext ic = suc.newInvocation( request );
+ StatefulServlet ss = (StatefulServlet) ic.getServlet();
+ ss.setColor( ic.getRequest(), "blue" );
+ suc.getResponse( ic );
+
+ WebResponse response = suc.getResponse( "http://localhost/" + resourceName );
+ assertNotNull( "No response received", response );
+ assertEquals( "content type", "text/plain", response.getContentType() );
+ assertEquals( "requested resource", "You posted blue", response.getText() );
+ assertEquals( "Returned cookie count", 0, response.getNewCookieNames().length );
+ }
+
+
static class StatefulServlet extends HttpServlet {
static String RESPONSE_TEXT = "the desired content\r\n";
- protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException,IOException {
+ protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException,IOException {
resp.setContentType( "text/plain" );
- PrintWriter pw = resp.getWriter();
- pw.print( "You selected " + req.getParameter( "color" ) );
- req.getSession().putValue( "color", req.getParameter( "color" ) );
- pw.close();
+ writeSelectMessage( req.getParameter( "color" ), resp.getWriter() );
+ setColor( req, req.getParameter( "color" ) );
}
-
- protected void doPost( HttpServletRequest req, HttpServletResponse resp ) throws ServletException,IOException {
+
+ protected void doGet( HttpServletRequest req, HttpServletResponse resp ) throws ServletException,IOException {
resp.setContentType( "text/plain" );
- HttpSession session = req.getSession( /* create */ false );
PrintWriter pw = resp.getWriter();
- if (session == null) {
+ String color = getColor( req );
+ if (color == null) {
pw.print( "No session found" );
} else {
- pw.print( "You posted " + session.getValue( "color" ) );
+ pw.print( "You posted " + color );
}
pw.close();
+ }
+
+ protected void writeSelectMessage( String color, PrintWriter pw ) throws IOException {
+ pw.print( "You selected " + color );
+ pw.close();
+ }
+
+ protected void setColor( HttpServletRequest req, String color ) throws ServletException {
+ req.getSession().setAttribute( "color", color );
+ }
+
+
+ protected String getColor( HttpServletRequest req ) throws ServletException {
+ HttpSession session = req.getSession( /* create */ false );
+ if (session == null) return null;
+ return (String) session.getAttribute( "color" );
}
}
Index: StatelessTest.java
===================================================================
RCS file: /cvsroot/httpunit/httpunit/test/com/meterware/servletunit/StatelessTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- StatelessTest.java 2000/11/21 20:44:59 1.1
+++ StatelessTest.java 2001/06/18 20:21:30 1.2
@@ -2,7 +2,7 @@
/********************************************************************************************************************
* $Id$
*
-* Copyright (c) 2000, Russell Gold
+* Copyright (c) 2000-2001, Russell Gold
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
@@ -74,7 +74,7 @@
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/html", response.getContentType() );
- assertEquals( "requested resource", SimpleGetServlet.RESPONSE_TEXT, response.toString() );
+ assertEquals( "requested resource", SimpleGetServlet.RESPONSE_TEXT, response.getText() );
}
@@ -89,7 +89,7 @@
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "You selected red", response.toString() );
+ assertEquals( "requested resource", "You selected red", response.getText() );
}
@@ -103,7 +103,7 @@
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "You selected red", response.toString() );
+ assertEquals( "requested resource", "You selected red", response.getText() );
}
public void testSimplePost() throws Exception {
@@ -117,7 +117,7 @@
WebResponse response = sr.getResponse( request );
assertNotNull( "No response received", response );
assertEquals( "content type", "text/plain", response.getContentType() );
- assertEquals( "requested resource", "You posted red", response.toString() );
+ assertEquals( "requested resource", "You posted red", response.getText() );
}
|