Class MockHttpServletResponse

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse, IMetaDataBufferingWebResponse

    public class MockHttpServletResponse
    extends java.lang.Object
    implements javax.servlet.http.HttpServletResponse, IMetaDataBufferingWebResponse
    Mock servlet response. Implements all of the methods from the standard HttpServletResponse class plus helper methods to aid viewing the generated response.
    Author:
    Chris Turner
    • 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
    • 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.StringBuilder buf, int i)  
      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 redirectLocation URL.
      java.lang.String encodeRedirectURL​(java.lang.String url)
      Encode the redirectLocation URL.
      java.lang.String encodeUrl​(java.lang.String url)
      Encode the URL.
      java.lang.String encodeURL​(java.lang.String url)
      Encode the URL.
      void flushBuffer()
      Flush the buffer.
      static java.lang.String formatDate​(long l)  
      static void formatDate​(java.lang.StringBuilder 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.
      java.lang.String getBinaryResponse()  
      int getBufferSize()
      Return the current buffer size
      java.lang.String getCharacterEncoding()
      Get the character encoding of the response.
      java.lang.String getContentType()  
      java.util.List<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)  
      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 getRedirectLocation()
      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 initialize 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 location)
      Indicate sending of a redirectLocation 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)  
      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. 
      void writeMetaData​(org.apache.wicket.request.http.WebResponse webResponse)
      transfer cookies to given web response
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MockHttpServletResponse

        public MockHttpServletResponse​(MockHttpServletRequest servletRequest)
        Create the response object.
        Parameters:
        servletRequest -
    • Method Detail

      • addCookie

        public void addCookie​(javax.servlet.http.Cookie cookie)
        Add a cookie to the response.
        Specified by:
        addCookie in interface javax.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 interface javax.servlet.http.HttpServletResponse
        Parameters:
        name - The header value
        l - 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 interface javax.servlet.http.HttpServletResponse
        Parameters:
        name - The name for the header
        value - The value for the header
      • addIntHeader

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

        public boolean containsHeader​(java.lang.String name)
        Check if the response contains the given header name.
        Specified by:
        containsHeader in interface javax.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 redirectLocation URL. Does no changes as this test implementation uses cookie based url tracking.
        Specified by:
        encodeRedirectUrl in interface javax.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 redirectLocation URL. Does no changes as this test implementation uses cookie based url tracking.
        Specified by:
        encodeRedirectURL in interface javax.servlet.http.HttpServletResponse
        Parameters:
        url - The url to encode
        Returns:
        The encoded url
      • encodeUrl

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

        public java.lang.String encodeURL​(java.lang.String url)
        Encode the URL. Does no changes as this test implementation uses cookie based url tracking.
        Specified by:
        encodeURL in interface javax.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 interface javax.servlet.ServletResponse
        Throws:
        java.io.IOException
      • 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 javax.servlet.ServletResponse
        Returns:
        The buffer size
      • getCharacterEncoding

        public java.lang.String getCharacterEncoding()
        Get the character encoding of the response.
        Specified by:
        getCharacterEncoding in interface javax.servlet.ServletResponse
        Returns:
        The character encoding
      • getCookies

        public java.util.List<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 interface javax.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 interface javax.servlet.http.HttpServletResponse
        Returns:
        The header names
      • getLocale

        public java.util.Locale getLocale()
        Get the encoded locale
        Specified by:
        getLocale in interface javax.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 interface javax.servlet.ServletResponse
        Returns:
        The binary output stream.
      • getRedirectLocation

        public java.lang.String getRedirectLocation()
        Get the location that was redirected to.
        Returns:
        The redirect location, or null if not a redirect
      • getStatus

        public int getStatus()
        Get the status code.
        Specified by:
        getStatus in interface javax.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 interface javax.servlet.ServletResponse
        Returns:
        The writer
        Throws:
        java.io.IOException - Not used
      • initialize

        public void initialize()
        Reset the response ready for reuse.
      • isCommitted

        public boolean isCommitted()
        Always returns false.
        Specified by:
        isCommitted in interface javax.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
      • reset

        public void reset()
        Delegate to initialize method.
        Specified by:
        reset in interface javax.servlet.ServletResponse
      • resetBuffer

        public void resetBuffer()
        Clears the buffer.
        Specified by:
        resetBuffer in interface javax.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 interface javax.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 interface javax.servlet.http.HttpServletResponse
        Parameters:
        code - The error code
        msg - The error message
        Throws:
        java.io.IOException - Not used
      • sendRedirect

        public void sendRedirect​(java.lang.String location)
                          throws java.io.IOException
        Indicate sending of a redirectLocation to a particular named resource. This implementation just keeps hold of the redirectLocation info and makes it available for query.
        Specified by:
        sendRedirect in interface javax.servlet.http.HttpServletResponse
        Parameters:
        location - The location to redirectLocation to
        Throws:
        java.io.IOException - Not used
      • setBufferSize

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

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

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

        public void setContentLengthLong​(long len)
        Specified by:
        setContentLengthLong in interface javax.servlet.ServletResponse
      • setContentType

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

        public java.lang.String getContentType()
        Specified by:
        getContentType in interface javax.servlet.ServletResponse
        Returns:
        value of content-type header
      • setDateHeader

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

        public static java.lang.String formatDate​(long l)
        Parameters:
        l -
        Returns:
        formatted date
      • formatDate

        public static void formatDate​(java.lang.StringBuilder 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 -
        calendar -
        cookie -
      • append2digits

        public static void append2digits​(java.lang.StringBuilder buf,
                                         int i)
        Parameters:
        buf -
        i -
      • setHeader

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

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

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

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

        @Deprecated
        public void setStatus​(int status,
                              java.lang.String msg)
        Deprecated.
        Set the status for this response.
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
        Parameters:
        status - The status
        msg - The message
      • getBinaryResponse

        public java.lang.String getBinaryResponse()
        Returns:
        binary response
      • getHeaders

        public java.util.Collection<java.lang.String> getHeaders​(java.lang.String name)
        Specified by:
        getHeaders in interface javax.servlet.http.HttpServletResponse
        Parameters:
        name -
        Returns:
        headers with given name
      • writeMetaData

        public void writeMetaData​(org.apache.wicket.request.http.WebResponse webResponse)
        Description copied from interface: IMetaDataBufferingWebResponse
        transfer cookies to given web response
        Specified by:
        writeMetaData in interface IMetaDataBufferingWebResponse
        Parameters:
        webResponse - web response that should receive the current cookies