Class MockResponse

java.lang.Object
com.avoka.tm.test.MockResponse
All Implemented Interfaces:
jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse

public class MockResponse extends Object implements jakarta.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 jakarta.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
    Create the response object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addCookie(jakarta.servlet.http.Cookie cookie)
    Add a cookie to the response.
    void
    addDateHeader(String name, long l)
    Add a date header.
    void
    addHeader(String name, String value)
    Add the given header value, including an additional entry if one already exists.
    void
    addIntHeader(String name, int i)
    Add an int header value.
    static void
    Append two digits if specified int is less than 100.
    boolean
    Check if the response contains the given header name.
    Encode the redirectUrl.
    Encode the redirectUrl.
    Encode thr URL.
    Encode thr URL.
    void
    Flush the buffer.
    static String
    formatDate(long value)
    Formats the specified long value as a date.
    static void
    formatDate(StringBuffer buf, 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[]
    Get the binary content that was written to the servlet stream.
    int
    Return the current buffer size.
    Get the character encoding of the response.
    int
    Get the response code for this request.
    Return the response content type.
    Collection<jakarta.servlet.http.Cookie>
    Get all of the cookies that have been added to the response.
    Get the text document that was written as part of this response.
    Get the error message.
    Return the value of the given named header.
    Get the names of all of the headers.
    Return the request headers.
    Get the encoded locale.
    jakarta.servlet.ServletOutputStream
    Get the output stream for writing binary data from the servlet.
    Get the location that was redirected to.
    int
    Get the status code.
    Get the print writer for writing text output for this response.
    void
    Reset the response ready for reuse.
    boolean
    Always returns false.
    boolean
    Return whether the servlet returned an error code or not.
    boolean
    Check whether the response was redirected or not.
    void
    Delegate to initialise method.
    void
    Clears the buffer.
    void
    sendError(int code)
    Send an error code.
    void
    sendError(int code, String msg)
    Send an error code.
    void
    Indicate sending of a redirectUrl to a particular named resource.
    void
    setBufferSize(int size)
    Method ignored.
    void
    setCharacterEncoding(String characterEncoding)
    Set the character encoding.
    void
    setContentLength(int length)
    Set the content length.
    void
    Set the content length long.
    void
    Set the content type.
    void
    setDateHeader(String name, long l)
    Set a date header.
    void
    setHeader(String name, String value)
    Set the given header value.
    void
    setIntHeader(String name, int i)
    Set an int header value.
    void
    setLocale(Locale locale)
    Set the locale in the response header.
    void
    setStatus(int status)
    Set the status for this response.
    void
    setStatus(int status, String msg)
    Deprecated. 

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface jakarta.servlet.http.HttpServletResponse

    getTrailerFields, setTrailerFields
  • Constructor Details

    • MockResponse

      public MockResponse()
      Create the response object.
  • Method Details

    • addCookie

      public void addCookie(jakarta.servlet.http.Cookie cookie)
      Add a cookie to the response.
      Specified by:
      addCookie in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      cookie - The cookie to add
    • addDateHeader

      public void addDateHeader(String name, long l)
      Add a date header.
      Specified by:
      addDateHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The header value
      l - The long value
    • addHeader

      public void addHeader(String name, String value)
      Add the given header value, including an additional entry if one already exists.
      Specified by:
      addHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The name for the header
      value - The value for the header
    • addIntHeader

      public void addIntHeader(String name, int i)
      Add an int header value.
      Specified by:
      addIntHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The header name
      i - The value
    • containsHeader

      public boolean containsHeader(String name)
      Check if the response contains the given header name.
      Specified by:
      containsHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The name to check
      Returns:
      Whether header in response or not
    • encodeRedirectUrl

      public String encodeRedirectUrl(String url)
      Encode the redirectUrl. Does no changes as this test implementation uses cookie based url tracking.
      Parameters:
      url - The url to encode
      Returns:
      The encoded url
    • encodeRedirectURL

      public String encodeRedirectURL(String url)
      Encode the redirectUrl. Does no changes as this test implementation uses cookie based url tracking.
      Specified by:
      encodeRedirectURL in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      url - The url to encode
      Returns:
      The encoded url
    • encodeUrl

      public String encodeUrl(String url)
      Encode thr URL. Does no changes as this test implementation uses cookie based url tracking.
      Parameters:
      url - The url to encode
      Returns:
      The encoded url
    • encodeURL

      public String encodeURL(String url)
      Encode thr URL. Does no changes as this test implementation uses cookie based url tracking.
      Specified by:
      encodeURL in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      url - The url to encode
      Returns:
      The encoded url
    • flushBuffer

      public void flushBuffer() throws IOException
      Flush the buffer.
      Specified by:
      flushBuffer in interface jakarta.servlet.ServletResponse
      Throws:
      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 interface jakarta.servlet.ServletResponse
      Returns:
      The buffer size
    • getCharacterEncoding

      public String getCharacterEncoding()
      Get the character encoding of the response.
      Specified by:
      getCharacterEncoding in interface jakarta.servlet.ServletResponse
      Returns:
      The character encoding
    • getCode

      public int getCode()
      Get the response code for this request.
      Returns:
      The response code
    • getCookies

      public Collection<jakarta.servlet.http.Cookie> getCookies()
      Get all of the cookies that have been added to the response.
      Returns:
      The collection of cookies
    • getDocument

      public String getDocument()
      Get the text document that was written as part of this response.
      Returns:
      The document
    • getErrorMessage

      public String getErrorMessage()
      Get the error message.
      Returns:
      The error message, or null if no message
    • getHeader

      public String getHeader(String name)
      Return the value of the given named header.
      Specified by:
      getHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The header name
      Returns:
      The value, or null
    • getHeaderNames

      public Set<String> getHeaderNames()
      Get the names of all of the headers.
      Specified by:
      getHeaderNames in interface jakarta.servlet.http.HttpServletResponse
      Returns:
      The header names
    • getLocale

      public Locale getLocale()
      Get the encoded locale.
      Specified by:
      getLocale in interface jakarta.servlet.ServletResponse
      Returns:
      The locale
    • getOutputStream

      public jakarta.servlet.ServletOutputStream getOutputStream()
      Get the output stream for writing binary data from the servlet.
      Specified by:
      getOutputStream in interface jakarta.servlet.ServletResponse
      Returns:
      The binary output stream.
    • getRedirectUrl

      public 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 interface jakarta.servlet.http.HttpServletResponse
      Returns:
      The status code
    • getWriter

      public PrintWriter getWriter() throws IOException
      Get the print writer for writing text output for this response.
      Specified by:
      getWriter in interface jakarta.servlet.ServletResponse
      Returns:
      The writer
      Throws:
      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 interface jakarta.servlet.ServletResponse
    • isCommitted

      public boolean isCommitted()
      Always returns false.
      Specified by:
      isCommitted in interface jakarta.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 interface jakarta.servlet.ServletResponse
    • sendError

      public void sendError(int code) throws IOException
      Send an error code. This implementation just sets the internal error state information.
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      code - The code
      Throws:
      IOException - Not used
    • sendError

      public void sendError(int code, String msg) throws IOException
      Send an error code. This implementation just sets the internal error state information.
      Specified by:
      sendError in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      code - The error code
      msg - The error message
      Throws:
      IOException - Not used
    • sendRedirect

      public void sendRedirect(String url) throws 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 interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      url - The url to set redirectUrl to
      Throws:
      IOException - Not used
    • setBufferSize

      public void setBufferSize(int size)
      Method ignored.
      Specified by:
      setBufferSize in interface jakarta.servlet.ServletResponse
      Parameters:
      size - The size
    • setCharacterEncoding

      public void setCharacterEncoding(String characterEncoding)
      Set the character encoding.
      Specified by:
      setCharacterEncoding in interface jakarta.servlet.ServletResponse
      Parameters:
      characterEncoding - The character encoding
    • setContentLength

      public void setContentLength(int length)
      Set the content length.
      Specified by:
      setContentLength in interface jakarta.servlet.ServletResponse
      Parameters:
      length - The length
    • setContentType

      public void setContentType(String type)
      Set the content type.
      Specified by:
      setContentType in interface jakarta.servlet.ServletResponse
      Parameters:
      type - The content type
    • getContentType

      public String getContentType()
      Return the response content type.
      Specified by:
      getContentType in interface jakarta.servlet.ServletResponse
      Returns:
      the response content type
    • setDateHeader

      public void setDateHeader(String name, long l)
      Set a date header.
      Specified by:
      setDateHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The header name
      l - The long value
    • formatDate

      public static 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(StringBuffer buf, 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 to
      calendar - the date to format
      cookie - should date be formatted for usage in a cookie
    • append2digits

      public static void append2digits(StringBuffer buf, int i)
      Append two digits if specified int is less than 100.
      Parameters:
      buf - the buffer to add 2 digits to
      i - the digits to add
    • setHeader

      public void setHeader(String name, String value)
      Set the given header value.
      Specified by:
      setHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The name for the header
      value - The value for the header
    • setIntHeader

      public void setIntHeader(String name, int i)
      Set an int header value.
      Specified by:
      setIntHeader in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - The header name
      i - The value
    • setLocale

      public void setLocale(Locale locale)
      Set the locale in the response header.
      Specified by:
      setLocale in interface jakarta.servlet.ServletResponse
      Parameters:
      locale - The locale
    • setStatus

      public void setStatus(int status)
      Set the status for this response.
      Specified by:
      setStatus in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      status - The status
    • setStatus

      public void setStatus(int status, String msg)
      Deprecated.
      Set the status for this response.
      Parameters:
      status - The status
      msg - The message
    • setContentLengthLong

      public void setContentLengthLong(long len)
      Set the content length long.
      Specified by:
      setContentLengthLong in interface jakarta.servlet.ServletResponse
      Parameters:
      len - the content length
    • getHeaders

      public Collection<String> getHeaders(String name)
      Return the request headers.
      Specified by:
      getHeaders in interface jakarta.servlet.http.HttpServletResponse
      Parameters:
      name - the header name
      Returns:
      headers