org.apache.cactus
class WebRequest

java.lang.Object
  |
  +--org.apache.cactus.WebRequest
Direct Known Subclasses:
ServletTestRequest
Known Advisors:
LogAspect

public class WebRequest
extends java.lang.Object

Contains all HTTP request data for a test case. It is the data that will be sent to the server redirector and that will be available to the test methods through the HttpServletRequest object.

Namely, it is :

Version:
$Id: WebRequest.java,v 1.2 2002/04/14 10:46:25 vmassol Exp $
Author:
Vincent Massol , Jason Robertson

Field Summary
static String GET_METHOD
          GET Method identifier.
          
static String POST_METHOD
          POST Method identifier.
          
 
Constructor Summary
WebRequest()
          Contains all HTTP request data for a test case.
 
Method Summary
 void addCookie(String theName, String theValue)
          Adds a cookie to the request.
          Affected by: LogAspect
 void addCookie(String theDomain, String theName, String theValue)
          Adds a cookie to the request.
          Affected by: LogAspect
 void addCookie(Cookie theCookie)
          Adds a cookie to the request.
          Affected by: LogAspect
 void addHeader(String theName, String theValue)
          Adds a header to the request.
          Affected by: LogAspect
 void addParameter(String theName, String theValue, String theMethod)
          Adds a parameter to the request.
          Affected by: LogAspect
 void addParameter(String theName, String theValue)
          Adds a parameter to the request.
          Affected by: LogAspect
 AbstractAuthentication getAuthentication()
           
 boolean getAutomaticSession()
           
 String getContentType()
           
 Vector getCookies()
           
 String getHeader(String theName)
          Returns the first value corresponding to this header's name.
          Affected by: LogAspect
 Enumeration getHeaderNames()
           
 String[] getHeaderValues(String theName)
          Returns all the values associated with this header's name.
          Affected by: LogAspect
 String getParameterGet(String theName)
          Returns the first value corresponding to this parameter's name (provided this parameter is passed in the URL).
          Affected by: LogAspect
 Enumeration getParameterNamesGet()
           
 Enumeration getParameterNamesPost()
           
 String getParameterPost(String theName)
          Returns the first value corresponding to this parameter's name (provided this parameter is passed in the request body - POST).
          Affected by: LogAspect
 String[] getParameterValuesGet(String theName)
          Returns all the values corresponding to this parameter's name (provided this parameter is passed in the URL).
          Affected by: LogAspect
 String[] getParameterValuesPost(String theName)
          Returns all the values corresponding to this parameter's name (provided this parameter is passed in the request body - POST).
          Affected by: LogAspect
 String getRedirectorName()
           
 ServletURL getURL()
           
 InputStream getUserData()
           
 void setAuthentication(AbstractAuthentication theAuthenticationObject)
          Sets the authentication object that will configure the http request
          Affected by: LogAspect
 void setAutomaticSession(boolean isAutomaticSession)
           Affected by: LogAspect
 void setContentType(String theContentType)
          Sets the content type that will be set in the http request
          Affected by: LogAspect
 void setRedirectorName(String theRedirectorName)
          Override the redirector Name defined in cactus.properties.
          Affected by: LogAspect
 void setURL(String theServerName, String theContextPath, String theServletPath, String thePathInfo, String theQueryString)
          Sets the simulated URL.
          Affected by: LogAspect
 void setUserData(InputStream theDataStream)
          Allow the user to send arbitrary data in the request body
          Affected by: LogAspect
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GET_METHOD

public static final String GET_METHOD
GET Method identifier.

POST_METHOD

public static final String POST_METHOD
POST Method identifier.
Constructor Detail

WebRequest

public WebRequest()
Contains all HTTP request data for a test case. It is the data that will be sent to the server redirector and that will be available to the test methods through the HttpServletRequest object.

Namely, it is :
Method Detail

addCookie

public void addCookie(String theName,
                      String theValue)
Adds a cookie to the request. The cookie will be created with a default localhost domain. Use the addCookie(String theDomain, String theName, String theValue) method or the addCookie(Cookie theCookie) if you wish to specify a domain. Note that the domain must match either the redirector host (specified in cactus.properties) or the host set using setURL().
Parameters:
theName - the cookie's name
theValue - the cookie's value
Affected by:
around() in LogAspect.

addCookie

public void addCookie(String theDomain,
                      String theName,
                      String theValue)
Adds a cookie to the request. The cookie will be created with the domain passed as parameter (i.e. the cookie will get sent only to requests to that domain). Note that the domain must match either the redirector host (specified in cactus.properties) or the host set using setURL().
Parameters:
theDomain - the cookie domain
theName - the cookie name
theValue - the cookie value
Affected by:
around() in LogAspect.

addCookie

public void addCookie(Cookie theCookie)
Adds a cookie to the request. Note that the domain must match either the redirector host (specified in cactus.properties) or the host set using setURL().
Parameters:
theCookie - the cookie to add
Affected by:
around() in LogAspect.

addHeader

public void addHeader(String theName,
                      String theValue)
Adds a header to the request. Supports adding several values for the same header name.
Parameters:
theName - the header's name
theValue - the header's value
Affected by:
around() in LogAspect.

addParameter

public void addParameter(String theName,
                         String theValue,
                         String theMethod)
Adds a parameter to the request. It is possible to add several times the the same parameter name, but with different value (the same as for the HttpServletRequest).
Parameters:
theName - the parameter's name
theValue - the parameter's value
theMethod - GET_METHOD or POST_METHOD. If GET_METHOD then the parameter will be sent in the query string of the URL. If POST_METHOD, it will be sent as a parameter in the request body.
Affected by:
around() in LogAspect.

addParameter

public void addParameter(String theName,
                         String theValue)
Adds a parameter to the request. The parameter is added to the query string of the URL.
Parameters:
theName - the parameter's name
theValue - the parameter's value
See Also:
addParameter(String, String, String)
Affected by:
around() in LogAspect.

getAuthentication

public AbstractAuthentication getAuthentication()
Returns:
the authentication object that will configure the http request

getAutomaticSession

public boolean getAutomaticSession()
Returns:
true if session will be automatically created for the user or false otherwise.

getContentType

public String getContentType()
Returns:
the content type that will be set in the http request

getCookies

public Vector getCookies()
Returns:
the cookies (vector of Cookie objects)

getHeader

public String getHeader(String theName)
Returns the first value corresponding to this header's name.
Parameters:
- theName the header's name
Returns:
the first value corresponding to this header's name or null if not found
Affected by:
around() in LogAspect.

getHeaderNames

public Enumeration getHeaderNames()
Returns:
the header names

getHeaderValues

public String[] getHeaderValues(String theName)
Returns all the values associated with this header's name.
Parameters:
- theName the header's name
Returns:
the values corresponding to this header's name or null if not found
Affected by:
around() in LogAspect.

getParameterGet

public String getParameterGet(String theName)
Returns the first value corresponding to this parameter's name (provided this parameter is passed in the URL).
Parameters:
theName - the parameter's name
Returns:
the first value corresponding to this parameter's name or null if not found in the list of parameters to be sent in the URL
Affected by:
around() in LogAspect.

getParameterNamesGet

public Enumeration getParameterNamesGet()
Returns:
the parameter names that will be passed in the URL (GET)

getParameterNamesPost

public Enumeration getParameterNamesPost()
Returns:
the parameter names that will be passed in the request body (POST)

getParameterPost

public String getParameterPost(String theName)
Returns the first value corresponding to this parameter's name (provided this parameter is passed in the request body - POST).
Parameters:
theName - the parameter's name
Returns:
the first value corresponding to this parameter's name or null if not found in the list of parameters to be sent in the request body
Affected by:
around() in LogAspect.

getParameterValuesGet

public String[] getParameterValuesGet(String theName)
Returns all the values corresponding to this parameter's name (provided this parameter is passed in the URL).
Parameters:
theName - the parameter's name
Returns:
the first value corresponding to this parameter's name or null if not found in the list of parameters to be sent in the URL
Affected by:
around() in LogAspect.

getParameterValuesPost

public String[] getParameterValuesPost(String theName)
Returns all the values corresponding to this parameter's name (provided this parameter is passed in the request body - POST).
Parameters:
theName - the parameter's name
Returns:
the first value corresponding to this parameter's name or null if not found in the list of parameters to be sent in the request body
Affected by:
around() in LogAspect.

getRedirectorName

public String getRedirectorName()
Returns:
the overriden redirector Name or null if none has been defined

getURL

public ServletURL getURL()
Returns:
the simulated URL

getUserData

public InputStream getUserData()
Returns:
the data stream set up by the user

setAuthentication

public void setAuthentication(AbstractAuthentication theAuthenticationObject)
Sets the authentication object that will configure the http request
Parameters:
theAuthenticationObject - the authentication object
Affected by:
around() in LogAspect.

setAutomaticSession

public void setAutomaticSession(boolean isAutomaticSession)
Parameters:
isAutomaticSession - whether the redirector servlet will automatically create the HTTP session or not. Default is true.
Affected by:
around() in LogAspect.

setContentType

public void setContentType(String theContentType)
Sets the content type that will be set in the http request
Parameters:
theContentType - the content type
Affected by:
around() in LogAspect.

setRedirectorName

public void setRedirectorName(String theRedirectorName)
Override the redirector Name defined in cactus.properties. This is useful to define a per test case Name (for example, if some test case need to have authentication turned on and not other tests, etc).
Parameters:
theRedirectorName - the new redirector Name to use
Affected by:
around() in LogAspect.

setURL

public void setURL(String theServerName,
                   String theContextPath,
                   String theServletPath,
                   String thePathInfo,
                   String theQueryString)
Sets the simulated URL. A URL is of the form :
 
URL = "http://" + serverName (including port) + requestURI ? queryString 

requestURI = contextPath + servletPath + pathInfo
From the Servlet 2.2 specification :
  • Context Path: The path prefix associated with the ServletContext that this servlet is a part of. If this context is the default context rooted at the base of the web server's URL namespace, this path will be an empty string. Otherwise, this path starts with a character but does not end with a character.
  • Servlet Path: The path section that directly corresponds to the mapping which activated this request. This path starts with a character.
  • PathInfo: The part of the request path that is not part of the Context Path or the Servlet Path.
Parameters:
theServerName - the server name (and port) in the URL to simulate, i.e. this is the name that will be returned by the HttpServletRequest.getServerName() and HttpServletRequest.getServerPort().
theContextPath - the webapp context path in the URL to simulate, i.e. this is the name that will be returned by the HttpServletRequest.getContextPath(). Can be null. Format: "/" + name or an empty string for the default context.
theServletPath - the servlet path in the URL to simulate, i.e. this is the name that will be returned by the HttpServletRequest.getServletPath(). Can be null. Format : "/" + name.
thePathInfo - the path info in the URL to simulate, i.e. this is the name that will be returned by the HttpServletRequest.getPathInfo(). Can be null. Format : "/" + name.
theQueryString - the Query string in the URL to simulate, i.e. this is the string that will be returned by the HttpServletResquest.getQueryString(). Can be null.
Affected by:
around() in LogAspect.

setUserData

public void setUserData(InputStream theDataStream)
Allow the user to send arbitrary data in the request body
Parameters:
theDataStream - the stream on which the data are put by the user
Affected by:
around() in LogAspect.

toString

public String toString()
Returns:
a string representation of the request


Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.