Package org.htmlunit
Class MockWebConnection
java.lang.Object
org.htmlunit.MockWebConnection
- All Implemented Interfaces:
AutoCloseable
,WebConnection
A fake
WebConnection
designed to mock out the actual HTTP connections.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Contains the raw data configured for a response. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Resets this.void
close()
Returns the additional headers that were used in the in the last call togetResponse(WebRequest)
.Returns the method that was used in the last call to submitRequest().Returns the parameters that were used in the last call to submitRequest().Returns theWebRequest
that was used in the in the last call togetResponse(WebRequest)
.getRawResponse
(WebRequest request) Gets the raw response configured for the request.int
Returns the number of requests made to this mock web connection.Gets the list of requested URLs.getRequestedUrls
(URL relativeTo) Gets the list of requested URLs relative to the provided URL.getResponse
(WebRequest request) Submits a request and retrieves a response.boolean
hasResponse
(URL url) Indicates if a response has already been configured for this URL.void
setDefaultResponse
(byte[] content, int statusCode, String statusMessage, String contentType) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.void
setDefaultResponse
(String content) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.void
setDefaultResponse
(String content, int statusCode, String statusMessage, String contentType) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.void
setDefaultResponse
(String content, int statusCode, String statusMessage, String contentType, Charset charset, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.void
setDefaultResponse
(String content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.void
setDefaultResponse
(String content, String contentType) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.void
setDefaultResponse
(String content, String contentType, Charset charset) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.void
setResponse
(URL url, byte[] content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.void
setResponse
(URL url, String content) Convenient method that is the same as callingsetResponse(URL,String,int,String,String,List)
with a status of "200 OK", a content type of "text/html" and no additional headers.void
setResponse
(URL url, String content, int statusCode, String statusMessage, String contentType, Charset charset, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.void
setResponse
(URL url, String content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.void
setResponse
(URL url, String content, String contentType) Convenient method that is the same as callingsetResponse(URL,String,int,String,String,List)
with a status of "200 OK" and no additional headers.void
setResponse
(URL url, String content, String contentType, Charset charset) Convenient method that is the same as callingsetResponse(URL, String, int, String, String, Charset, List)
with a status of "200 OK" and no additional headers.void
setResponseAsGenericHtml
(URL url, String title) Specify a generic HTML page that will be returned when the given URL is specified.void
setThrowable
(URL url, IOException throwable) Sets the exception that will be thrown when the specified URL is requested.
-
Constructor Details
-
MockWebConnection
public MockWebConnection()
-
-
Method Details
-
getResponse
Submits a request and retrieves a response.- Specified by:
getResponse
in interfaceWebConnection
- Parameters:
request
- the request- Returns:
- the response to the request defined by the specified request
- Throws:
IOException
- if an IO error occurs
-
getRawResponse
Gets the raw response configured for the request.- Parameters:
request
- the request- Returns:
- the raw response
- Throws:
IOException
- if defined
-
getRequestedUrls
Gets the list of requested URLs.- Returns:
- the list of relative URLs
-
getRequestedUrls
Gets the list of requested URLs relative to the provided URL.- Parameters:
relativeTo
- what should be removed from the requested URLs.- Returns:
- the list of relative URLs
-
getLastMethod
Returns the method that was used in the last call to submitRequest().- Returns:
- the method that was used in the last call to submitRequest()
-
getLastParameters
Returns the parameters that were used in the last call to submitRequest().- Returns:
- the parameters that were used in the last call to submitRequest()
-
setResponse
public void setResponse(URL url, String content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.- Parameters:
url
- the URL that will return the given responsecontent
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to returnheaders
- the response headers to return
-
setResponse
public void setResponse(URL url, String content, int statusCode, String statusMessage, String contentType, Charset charset, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.- Parameters:
url
- the URL that will return the given responsecontent
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to returncharset
- the charsetheaders
- the response headers to return
-
setThrowable
Sets the exception that will be thrown when the specified URL is requested.- Parameters:
url
- the URL that will force the exceptionthrowable
- the Throwable
-
setResponse
public void setResponse(URL url, byte[] content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.- Parameters:
url
- the URL that will return the given responsecontent
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to returnheaders
- the response headers to return
-
setResponse
Convenient method that is the same as callingsetResponse(URL,String,int,String,String,List)
with a status of "200 OK", a content type of "text/html" and no additional headers.- Parameters:
url
- the URL that will return the given responsecontent
- the content to return
-
setResponse
Convenient method that is the same as callingsetResponse(URL,String,int,String,String,List)
with a status of "200 OK" and no additional headers.- Parameters:
url
- the URL that will return the given responsecontent
- the content to returncontentType
- the content type to return
-
setResponse
Convenient method that is the same as callingsetResponse(URL, String, int, String, String, Charset, List)
with a status of "200 OK" and no additional headers.- Parameters:
url
- the URL that will return the given responsecontent
- the content to returncontentType
- the content type to returncharset
- the charset
-
setResponseAsGenericHtml
Specify a generic HTML page that will be returned when the given URL is specified. The page will contain only minimal HTML to satisfy the HTML parser but will contain the specified title so that tests can check for titleText.- Parameters:
url
- the URL that will return the given responsetitle
- the title of the page
-
setDefaultResponse
public void setDefaultResponse(String content, int statusCode, String statusMessage, String contentType) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.- Parameters:
content
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to return
-
setDefaultResponse
public void setDefaultResponse(byte[] content, int statusCode, String statusMessage, String contentType) Sets the response that will be returned when a URL is requested that does not have a specific content set for it.- Parameters:
content
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to return
-
setDefaultResponse
Sets the response that will be returned when a URL is requested that does not have a specific content set for it.- Parameters:
content
- the content to return
-
setDefaultResponse
Sets the response that will be returned when a URL is requested that does not have a specific content set for it.- Parameters:
content
- the content to returncontentType
- the content type to return
-
setDefaultResponse
Sets the response that will be returned when a URL is requested that does not have a specific content set for it.- Parameters:
content
- the content to returncontentType
- the content type to returncharset
- the charset
-
setDefaultResponse
public void setDefaultResponse(String content, int statusCode, String statusMessage, String contentType, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.- Parameters:
content
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to returnheaders
- the response headers to return
-
setDefaultResponse
public void setDefaultResponse(String content, int statusCode, String statusMessage, String contentType, Charset charset, List<NameValuePair> headers) Sets the response that will be returned when the specified URL is requested.- Parameters:
content
- the content to returnstatusCode
- the status code to returnstatusMessage
- the status message to returncontentType
- the content type to returncharset
- the charsetheaders
- the response headers to return
-
getLastAdditionalHeaders
Returns the additional headers that were used in the in the last call togetResponse(WebRequest)
.- Returns:
- the additional headers that were used in the in the last call
to
getResponse(WebRequest)
-
getLastWebRequest
Returns theWebRequest
that was used in the in the last call togetResponse(WebRequest)
.- Returns:
- the
WebRequest
that was used in the in the last call togetResponse(WebRequest)
-
getRequestCount
public int getRequestCount()Returns the number of requests made to this mock web connection.- Returns:
- the number of requests made to this mock web connection
-
hasResponse
Indicates if a response has already been configured for this URL.- Parameters:
url
- the url- Returns:
false
if no response has been configured
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceWebConnection
-
clear
public void clear()Resets this.
-