Class SlingHttpResponse

java.lang.Object
org.apache.sling.testing.clients.SlingHttpResponse
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.http.client.methods.CloseableHttpResponse, org.apache.http.HttpMessage, org.apache.http.HttpResponse

public class SlingHttpResponse extends Object implements org.apache.http.client.methods.CloseableHttpResponse
  • Field Details

  • Constructor Details

    • SlingHttpResponse

      public SlingHttpResponse(org.apache.http.client.methods.CloseableHttpResponse response)
  • Method Details

    • getContent

      public String getContent()

      Get the String content of the response.

      The content is cached so it is safe to call this method several times.

      Attention! Calling this method consumes the entity, so it cannot be used as an InputStream later

      Returns:
      the content as String
    • isConsumed

      public boolean isConsumed()
    • checkStatus

      public void checkStatus(int expected) throws TestingValidationException

      Assert that response matches supplied status

      Parameters:
      expected - the expected http status
      Throws:
      TestingValidationException - if the response does not match the expected
    • checkContentType

      public void checkContentType(String expected) throws TestingValidationException

      Assert that response matches supplied content type (from Content-Type header)

      Parameters:
      expected - the expected content type
      Throws:
      TestingValidationException - if the response content type does not match the expected
    • checkContentRegexp

      public void checkContentRegexp(String... regexp) throws TestingValidationException

      For each regular expression, assert that at least one line of the response matches the expression

      The regular expressions are automatically prefixed and suffixed with .* it order to partial-match the lines

      Parameters:
      regexp - list of regular expressions
      Throws:
      TestingValidationException - if the response content does not match one of the regexp
    • checkContentContains

      public void checkContentContains(String... expected) throws TestingValidationException

      Assert that all the provided Strings are contained in the response

      Parameters:
      expected - list of expected strings
      Throws:
      TestingValidationException - if the response content does not match one of the strings
    • getSlingStatus

      public String getSlingStatus()
      Get status from Sling Response
      Returns:
      Sling Status
    • getSlingStatusAsInt

      public int getSlingStatusAsInt() throws NumberFormatException
      Get status from Sling Response as integer
      Returns:
      Sling Status
      Throws:
      NumberFormatException - if sling status can't be parsed as a number
    • getSlingMessage

      public String getSlingMessage()
      Get message from Sling Response
      Returns:
      Sling Message
    • getSlingCopyPaths

      public String[] getSlingCopyPaths()
      Get copy paths from message
      Returns:
      copy paths as String Array
    • getSlingLocation

      public String getSlingLocation()
      Get location from Sling Response
      Returns:
      Sling Location
    • getSlingParentLocation

      public String getSlingParentLocation()
      Get parent location from Sling Response
      Returns:
      Sling Parent Location
    • getSlingPath

      public String getSlingPath()
      Get path from Sling Response
      Returns:
      Sling Path
    • getSlingReferer

      public String getSlingReferer()
      Get referer from Sling Response
      Returns:
      Sling Referer
    • getSlingChangeLog

      public String getSlingChangeLog()
      Get change log from Sling Response
      Returns:
      Sling Change Log
    • extractFromHTMLResponse

      protected String extractFromHTMLResponse(String searchPattern)
      Extract information from response
      Parameters:
      searchPattern - search pattern to look for
      Returns:
      Sling information
    • getStatusLine

      public org.apache.http.StatusLine getStatusLine()
      Specified by:
      getStatusLine in interface org.apache.http.HttpResponse
    • setStatusLine

      public void setStatusLine(org.apache.http.StatusLine statusline)
      Specified by:
      setStatusLine in interface org.apache.http.HttpResponse
    • setStatusLine

      public void setStatusLine(org.apache.http.ProtocolVersion ver, int code)
      Specified by:
      setStatusLine in interface org.apache.http.HttpResponse
    • setStatusLine

      public void setStatusLine(org.apache.http.ProtocolVersion ver, int code, String reason)
      Specified by:
      setStatusLine in interface org.apache.http.HttpResponse
    • setStatusCode

      public void setStatusCode(int code) throws IllegalStateException
      Specified by:
      setStatusCode in interface org.apache.http.HttpResponse
      Throws:
      IllegalStateException
    • setReasonPhrase

      public void setReasonPhrase(String reason) throws IllegalStateException
      Specified by:
      setReasonPhrase in interface org.apache.http.HttpResponse
      Throws:
      IllegalStateException
    • getEntity

      public org.apache.http.HttpEntity getEntity()
      Specified by:
      getEntity in interface org.apache.http.HttpResponse
    • setEntity

      public void setEntity(org.apache.http.HttpEntity entity)
      Specified by:
      setEntity in interface org.apache.http.HttpResponse
    • getLocale

      public Locale getLocale()
      Specified by:
      getLocale in interface org.apache.http.HttpResponse
    • setLocale

      public void setLocale(Locale loc)
      Specified by:
      setLocale in interface org.apache.http.HttpResponse
    • getProtocolVersion

      public org.apache.http.ProtocolVersion getProtocolVersion()
      Specified by:
      getProtocolVersion in interface org.apache.http.HttpMessage
    • containsHeader

      public boolean containsHeader(String name)
      Specified by:
      containsHeader in interface org.apache.http.HttpMessage
    • getHeaders

      public org.apache.http.Header[] getHeaders(String name)
      Specified by:
      getHeaders in interface org.apache.http.HttpMessage
    • getFirstHeader

      public org.apache.http.Header getFirstHeader(String name)
      Specified by:
      getFirstHeader in interface org.apache.http.HttpMessage
    • getLastHeader

      public org.apache.http.Header getLastHeader(String name)
      Specified by:
      getLastHeader in interface org.apache.http.HttpMessage
    • getAllHeaders

      public org.apache.http.Header[] getAllHeaders()
      Specified by:
      getAllHeaders in interface org.apache.http.HttpMessage
    • addHeader

      public void addHeader(org.apache.http.Header header)
      Specified by:
      addHeader in interface org.apache.http.HttpMessage
    • addHeader

      public void addHeader(String name, String value)
      Specified by:
      addHeader in interface org.apache.http.HttpMessage
    • setHeader

      public void setHeader(org.apache.http.Header header)
      Specified by:
      setHeader in interface org.apache.http.HttpMessage
    • setHeader

      public void setHeader(String name, String value)
      Specified by:
      setHeader in interface org.apache.http.HttpMessage
    • setHeaders

      public void setHeaders(org.apache.http.Header[] headers)
      Specified by:
      setHeaders in interface org.apache.http.HttpMessage
    • removeHeader

      public void removeHeader(org.apache.http.Header header)
      Specified by:
      removeHeader in interface org.apache.http.HttpMessage
    • removeHeaders

      public void removeHeaders(String name)
      Specified by:
      removeHeaders in interface org.apache.http.HttpMessage
    • headerIterator

      public org.apache.http.HeaderIterator headerIterator()
      Specified by:
      headerIterator in interface org.apache.http.HttpMessage
    • headerIterator

      public org.apache.http.HeaderIterator headerIterator(String name)
      Specified by:
      headerIterator in interface org.apache.http.HttpMessage
    • getParams

      public org.apache.http.params.HttpParams getParams()
      Specified by:
      getParams in interface org.apache.http.HttpMessage
    • setParams

      public void setParams(org.apache.http.params.HttpParams params)
      Specified by:
      setParams in interface org.apache.http.HttpMessage
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException