Package com.avoka.tm.test
Class MockResponse
- java.lang.Object
-
- com.avoka.tm.test.MockResponse
-
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse
,javax.servlet.ServletResponse
public class MockResponse extends java.lang.Object implements javax.servlet.http.HttpServletResponse
Mock implementation of
HttpServletResponse
.Implements all of the methods from the standard HttpServletResponse class plus helper methods to aid viewing the generated response.
This class was adapted from Apache Wicket.
- Since:
- 17.10.0
-
-
Field Summary
-
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
-
-
Constructor Summary
Constructors Constructor Description MockResponse()
Create the response object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addCookie(javax.servlet.http.Cookie cookie)
Add a cookie to the response.void
addDateHeader(java.lang.String name, long l)
Add a date header.void
addHeader(java.lang.String name, java.lang.String value)
Add the given header value, including an additional entry if one already exists.void
addIntHeader(java.lang.String name, int i)
Add an int header value.static void
append2digits(java.lang.StringBuffer buf, int i)
Append two digits if specified int is less than 100.boolean
containsHeader(java.lang.String name)
Check if the response contains the given header name.java.lang.String
encodeRedirectUrl(java.lang.String url)
Encode the redirectUrl.java.lang.String
encodeRedirectURL(java.lang.String url)
Encode the redirectUrl.java.lang.String
encodeUrl(java.lang.String url)
Encode thr URL.java.lang.String
encodeURL(java.lang.String url)
Encode thr URL.void
flushBuffer()
Flush the buffer.static java.lang.String
formatDate(long value)
Formats the specified long value as a date.static void
formatDate(java.lang.StringBuffer buf, java.util.Calendar calendar, boolean cookie)
Format HTTP date "EEE, dd MMM yyyy HH:mm:ss 'GMT'" or "EEE, dd-MMM-yy HH:mm:ss 'GMT'" for cookies.byte[]
getBinaryContent()
Get the binary content that was written to the servlet stream.int
getBufferSize()
Return the current buffer size.java.lang.String
getCharacterEncoding()
Get the character encoding of the response.int
getCode()
Get the response code for this request.java.lang.String
getContentType()
Return the response content type.java.util.Collection<javax.servlet.http.Cookie>
getCookies()
Get all of the cookies that have been added to the response.java.lang.String
getDocument()
Get the text document that was written as part of this response.java.lang.String
getErrorMessage()
Get the error message.java.lang.String
getHeader(java.lang.String name)
Return the value of the given named header.java.util.Set<java.lang.String>
getHeaderNames()
Get the names of all of the headers.java.util.Collection<java.lang.String>
getHeaders(java.lang.String name)
Return the request headers.java.util.Locale
getLocale()
Get the encoded locale.javax.servlet.ServletOutputStream
getOutputStream()
Get the output stream for writing binary data from the servlet.java.lang.String
getRedirectUrl()
Get the location that was redirected to.int
getStatus()
Get the status code.java.io.PrintWriter
getWriter()
Get the print writer for writing text output for this response.void
initialize()
Reset the response ready for reuse.boolean
isCommitted()
Always returns false.boolean
isError()
Return whether the servlet returned an error code or not.boolean
isRedirect()
Check whether the response was redirected or not.void
reset()
Delegate to initialise method.void
resetBuffer()
Clears the buffer.void
sendError(int code)
Send an error code.void
sendError(int code, java.lang.String msg)
Send an error code.void
sendRedirect(java.lang.String url)
Indicate sending of a redirectUrl to a particular named resource.void
setBufferSize(int size)
Method ignored.void
setCharacterEncoding(java.lang.String characterEncoding)
Set the character encoding.void
setContentLength(int length)
Set the content length.void
setContentLengthLong(long len)
Set the content length long.void
setContentType(java.lang.String type)
Set the content type.void
setDateHeader(java.lang.String name, long l)
Set a date header.void
setHeader(java.lang.String name, java.lang.String value)
Set the given header value.void
setIntHeader(java.lang.String name, int i)
Set an int header value.void
setLocale(java.util.Locale locale)
Set the locale in the response header.void
setStatus(int status)
Set the status for this response.void
setStatus(int status, java.lang.String msg)
Deprecated.
-
-
-
Method Detail
-
addCookie
public void addCookie(javax.servlet.http.Cookie cookie)
Add a cookie to the response.- Specified by:
addCookie
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
cookie
- The cookie to add
-
addDateHeader
public void addDateHeader(java.lang.String name, long l)
Add a date header.- Specified by:
addDateHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The header valuel
- The long value
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)
Add the given header value, including an additional entry if one already exists.- Specified by:
addHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The name for the headervalue
- The value for the header
-
addIntHeader
public void addIntHeader(java.lang.String name, int i)
Add an int header value.- Specified by:
addIntHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The header namei
- The value
-
containsHeader
public boolean containsHeader(java.lang.String name)
Check if the response contains the given header name.- Specified by:
containsHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The name to check- Returns:
- Whether header in response or not
-
encodeRedirectUrl
public java.lang.String encodeRedirectUrl(java.lang.String url)
Encode the redirectUrl. Does no changes as this test implementation uses cookie based url tracking.- Specified by:
encodeRedirectUrl
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode- Returns:
- The encoded url
-
encodeRedirectURL
public java.lang.String encodeRedirectURL(java.lang.String url)
Encode the redirectUrl. Does no changes as this test implementation uses cookie based url tracking.- Specified by:
encodeRedirectURL
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode- Returns:
- The encoded url
-
encodeUrl
public java.lang.String encodeUrl(java.lang.String url)
Encode thr URL. Does no changes as this test implementation uses cookie based url tracking.- Specified by:
encodeUrl
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode- Returns:
- The encoded url
-
encodeURL
public java.lang.String encodeURL(java.lang.String url)
Encode thr URL. Does no changes as this test implementation uses cookie based url tracking.- Specified by:
encodeURL
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to encode- Returns:
- The encoded url
-
flushBuffer
public void flushBuffer() throws java.io.IOException
Flush the buffer.- Specified by:
flushBuffer
in interfacejavax.servlet.ServletResponse
- Throws:
java.io.IOException
- if exception occurs during flush
-
getBinaryContent
public byte[] getBinaryContent()
Get the binary content that was written to the servlet stream.- Returns:
- The binary content
-
getBufferSize
public int getBufferSize()
Return the current buffer size.- Specified by:
getBufferSize
in interfacejavax.servlet.ServletResponse
- Returns:
- The buffer size
-
getCharacterEncoding
public java.lang.String getCharacterEncoding()
Get the character encoding of the response.- Specified by:
getCharacterEncoding
in interfacejavax.servlet.ServletResponse
- Returns:
- The character encoding
-
getCode
public int getCode()
Get the response code for this request.- Returns:
- The response code
-
getCookies
public java.util.Collection<javax.servlet.http.Cookie> getCookies()
Get all of the cookies that have been added to the response.- Returns:
- The collection of cookies
-
getDocument
public java.lang.String getDocument()
Get the text document that was written as part of this response.- Returns:
- The document
-
getErrorMessage
public java.lang.String getErrorMessage()
Get the error message.- Returns:
- The error message, or null if no message
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Return the value of the given named header.- Specified by:
getHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The header name- Returns:
- The value, or null
-
getHeaderNames
public java.util.Set<java.lang.String> getHeaderNames()
Get the names of all of the headers.- Specified by:
getHeaderNames
in interfacejavax.servlet.http.HttpServletResponse
- Returns:
- The header names
-
getLocale
public java.util.Locale getLocale()
Get the encoded locale.- Specified by:
getLocale
in interfacejavax.servlet.ServletResponse
- Returns:
- The locale
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream()
Get the output stream for writing binary data from the servlet.- Specified by:
getOutputStream
in interfacejavax.servlet.ServletResponse
- Returns:
- The binary output stream.
-
getRedirectUrl
public java.lang.String getRedirectUrl()
Get the location that was redirected to.- Returns:
- The redirect url, or null if not a redirect
-
getStatus
public int getStatus()
Get the status code.- Specified by:
getStatus
in interfacejavax.servlet.http.HttpServletResponse
- Returns:
- The status code
-
getWriter
public java.io.PrintWriter getWriter() throws java.io.IOException
Get the print writer for writing text output for this response.- Specified by:
getWriter
in interfacejavax.servlet.ServletResponse
- Returns:
- The writer
- Throws:
java.io.IOException
- - if an input or output exception occurred
-
initialize
public void initialize()
Reset the response ready for reuse.
-
reset
public void reset()
Delegate to initialise method.- Specified by:
reset
in interfacejavax.servlet.ServletResponse
-
isCommitted
public boolean isCommitted()
Always returns false.- Specified by:
isCommitted
in interfacejavax.servlet.ServletResponse
- Returns:
- Always false
-
isError
public boolean isError()
Return whether the servlet returned an error code or not.- Returns:
- Whether an error occurred or not
-
isRedirect
public boolean isRedirect()
Check whether the response was redirected or not.- Returns:
- Whether the state was redirected or not
-
resetBuffer
public void resetBuffer()
Clears the buffer.- Specified by:
resetBuffer
in interfacejavax.servlet.ServletResponse
-
sendError
public void sendError(int code) throws java.io.IOException
Send an error code. This implementation just sets the internal error state information.- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
code
- The code- Throws:
java.io.IOException
- Not used
-
sendError
public void sendError(int code, java.lang.String msg) throws java.io.IOException
Send an error code. This implementation just sets the internal error state information.- Specified by:
sendError
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
code
- The error codemsg
- The error message- Throws:
java.io.IOException
- Not used
-
sendRedirect
public void sendRedirect(java.lang.String url) throws java.io.IOException
Indicate sending of a redirectUrl to a particular named resource.
This implementation just keeps hold of the redirectUrl info and makes it available for querying.
- Specified by:
sendRedirect
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
url
- The url to set redirectUrl to- Throws:
java.io.IOException
- Not used
-
setBufferSize
public void setBufferSize(int size)
Method ignored.- Specified by:
setBufferSize
in interfacejavax.servlet.ServletResponse
- Parameters:
size
- The size
-
setCharacterEncoding
public void setCharacterEncoding(java.lang.String characterEncoding)
Set the character encoding.- Specified by:
setCharacterEncoding
in interfacejavax.servlet.ServletResponse
- Parameters:
characterEncoding
- The character encoding
-
setContentLength
public void setContentLength(int length)
Set the content length.- Specified by:
setContentLength
in interfacejavax.servlet.ServletResponse
- Parameters:
length
- The length
-
setContentType
public void setContentType(java.lang.String type)
Set the content type.- Specified by:
setContentType
in interfacejavax.servlet.ServletResponse
- Parameters:
type
- The content type
-
getContentType
public java.lang.String getContentType()
Return the response content type.- Specified by:
getContentType
in interfacejavax.servlet.ServletResponse
- Returns:
- the response content type
-
setDateHeader
public void setDateHeader(java.lang.String name, long l)
Set a date header.- Specified by:
setDateHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The header namel
- The long value
-
formatDate
public static java.lang.String formatDate(long value)
Formats the specified long value as a date.- Parameters:
value
- the specified long value to format- Returns:
- the formatted date
-
formatDate
public static void formatDate(java.lang.StringBuffer buf, java.util.Calendar calendar, boolean cookie)
Format HTTP date "EEE, dd MMM yyyy HH:mm:ss 'GMT'" or "EEE, dd-MMM-yy HH:mm:ss 'GMT'" for cookies.- Parameters:
buf
- the buffer to render to formatted date tocalendar
- the date to formatcookie
- should date be formatted for usage in a cookie
-
append2digits
public static void append2digits(java.lang.StringBuffer buf, int i)
Append two digits if specified int is less than 100.- Parameters:
buf
- the buffer to add 2 digits toi
- the digits to add
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)
Set the given header value.- Specified by:
setHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The name for the headervalue
- The value for the header
-
setIntHeader
public void setIntHeader(java.lang.String name, int i)
Set an int header value.- Specified by:
setIntHeader
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- The header namei
- The value
-
setLocale
public void setLocale(java.util.Locale locale)
Set the locale in the response header.- Specified by:
setLocale
in interfacejavax.servlet.ServletResponse
- Parameters:
locale
- The locale
-
setStatus
public void setStatus(int status)
Set the status for this response.- Specified by:
setStatus
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
status
- The status
-
setStatus
public void setStatus(int status, java.lang.String msg)
Deprecated.Set the status for this response.- Specified by:
setStatus
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
status
- The statusmsg
- The message
-
setContentLengthLong
public void setContentLengthLong(long len)
Set the content length long.- Specified by:
setContentLengthLong
in interfacejavax.servlet.ServletResponse
- Parameters:
len
- the content length
-
getHeaders
public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)
Return the request headers.- Specified by:
getHeaders
in interfacejavax.servlet.http.HttpServletResponse
- Parameters:
name
- the header name- Returns:
- headers
-
-