Package org.mockserver.client
Class MockServerClient
- java.lang.Object
- 
- org.mockserver.client.MockServerClient
 
- 
- All Implemented Interfaces:
- Closeable,- AutoCloseable,- Stoppable
 - Direct Known Subclasses:
- ClientAndServer
 
 public class MockServerClient extends Object implements Stoppable - Author:
- jamesdbloom
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected Future<Integer>portFuture
 - 
Constructor SummaryConstructors Constructor Description MockServerClient(String host, int port)Start the client communicating to a MockServer at the specified host and port for example:MockServerClient(String host, int port, String contextPath)Start the client communicating to a MockServer at the specified host and port and contextPath for example:MockServerClient(Future<Integer> portFuture)Start the client communicating to a MockServer on localhost at the port specified with the Future
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description List<Integer>bind(Integer... ports)Bind new ports to listen onMockServerClientclear(HttpRequest httpRequest)Clear all expectations and logs that match the httpMockServerClientclear(HttpRequest httpRequest, ClearType type)Clear expectations, logs or both that match the httpvoidclose()StringcontextPath()booleanisRunning()Returns whether MockServer is runningbooleanisRunning(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer is running, by polling the MockServer a configurable amount of timesbooleanisSecure()InetSocketAddressremoteAddress()MockServerClientreset()Reset MockServer by clearing all expectationsExpectation[]retrieveActiveExpectations(HttpRequest httpRequest)Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectationsStringretrieveActiveExpectations(HttpRequest httpRequest, Format format)Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectationsStringretrieveLogMessages(HttpRequest httpRequest)Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etcString[]retrieveLogMessagesArray(HttpRequest httpRequest)Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etcExpectation[]retrieveRecordedExpectations(HttpRequest httpRequest)Retrieve the request-response combinations that have been recorded as a list of expectations, only those that match the httpRequest parameter are returned, use null to retrieve all requestsStringretrieveRecordedExpectations(HttpRequest httpRequest, Format format)Retrieve the request-response combinations that have been recorded as a list of expectations, only those that match the httpRequest parameter are returned, use null to retrieve all requestsHttpRequest[]retrieveRecordedRequests(HttpRequest httpRequest)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsStringretrieveRecordedRequests(HttpRequest httpRequest, Format format)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsHttpRequestAndHttpResponse[]retrieveRecordedRequestsAndResponses(HttpRequest httpRequest)Retrieve the recorded requests and responses that match the httpRequest parameter, use null for the parameter to retrieve all requests and responsesStringretrieveRecordedRequestsAndResponses(HttpRequest httpRequest, Format format)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsvoidsendExpectation(Expectation... expectations)Specify one or more expectations, normally this method should not be used directly instead the when(...) and response(...) or forward(...) or error(...) methods should be used for example:voidstop()Stop MockServer gracefully (only support for Netty version, not supported for WAR version)Future<MockServerClient>stop(boolean ignoreFailure)Stop MockServer gracefully (only support for Netty version, not supported for WAR version)Future<MockServerClient>stopAsync()Stop MockServer gracefully (only support for Netty version, not supported for WAR version)MockServerClientverify(HttpRequest... httpRequests)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(HttpRequest httpRequest, VerificationTimes times)Verify a request has been sent for example:MockServerClientverifyZeroInteractions()Verify no requests have been have been sent.ForwardChainExpectationwhen(HttpRequest httpRequest)Specify an unlimited expectation that will respond regardless of the number of matching http for example:ForwardChainExpectationwhen(HttpRequest httpRequest, Times times)Specify an limited expectation that will respond a specified number of times when the http is matched for example:ForwardChainExpectationwhen(HttpRequest httpRequest, Times times, TimeToLive timeToLive)Specify an limited expectation that will respond a specified number of times when the http is matched for example:MockServerClientwithSecure(boolean secure)
 
- 
- 
- 
Constructor Detail- 
MockServerClientpublic MockServerClient(Future<Integer> portFuture) Start the client communicating to a MockServer on localhost at the port specified with the Future- Parameters:
- portFuture- the port for the MockServer to communicate with
 
 - 
MockServerClientpublic MockServerClient(String host, int port) Start the client communicating to a MockServer at the specified host and port for example:MockServerClient mockServerClient = new MockServerClient("localhost", 1080); - Parameters:
- host- the host for the MockServer to communicate with
- port- the port for the MockServer to communicate with
 
 - 
MockServerClientpublic MockServerClient(String host, int port, String contextPath) Start the client communicating to a MockServer at the specified host and port and contextPath for example:MockServerClient mockServerClient = new MockServerClient("localhost", 1080, "/mockserver"); - Parameters:
- host- the host for the MockServer to communicate with
- port- the port for the MockServer to communicate with
- contextPath- the context path that the MockServer war is deployed to
 
 
- 
 - 
Method Detail- 
isSecurepublic boolean isSecure() 
 - 
withSecurepublic MockServerClient withSecure(boolean secure) 
 - 
remoteAddresspublic InetSocketAddress remoteAddress() 
 - 
contextPathpublic String contextPath() 
 - 
isRunningpublic boolean isRunning() Returns whether MockServer is running
 - 
isRunningpublic boolean isRunning(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer is running, by polling the MockServer a configurable amount of times
 - 
stopAsyncpublic Future<MockServerClient> stopAsync() Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
 - 
stoppublic void stop() Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
 - 
stoppublic Future<MockServerClient> stop(boolean ignoreFailure) Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
 - 
closepublic void close() - Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
 
 - 
resetpublic MockServerClient reset() Reset MockServer by clearing all expectations
 - 
clearpublic MockServerClient clear(HttpRequest httpRequest) Clear all expectations and logs that match the http- Parameters:
- httpRequest- the http request that is matched against when deciding whether to clear each expectation if null all expectations are cleared
 
 - 
clearpublic MockServerClient clear(HttpRequest httpRequest, ClearType type) Clear expectations, logs or both that match the http- Parameters:
- httpRequest- the http request that is matched against when deciding whether to clear each expectation if null all expectations are cleared
- type- the type to clear, EXPECTATION, LOG or BOTH
 
 - 
verifypublic MockServerClient verify(HttpRequest... httpRequests) throws AssertionError Verify a list of requests have been sent in the order specified for example:mockServerClient .verify( request() .withPath("/first_request") .withBody("some_request_body"), request() .withPath("/second_request") .withBody("some_request_body") );- Parameters:
- httpRequests- the http requests that must be matched for this verification to pass
- Throws:
- AssertionError- if the request has not been found
 
 - 
verifypublic MockServerClient verify(HttpRequest httpRequest, VerificationTimes times) throws AssertionError Verify a request has been sent for example:mockServerClient .verify( request() .withPath("/some_path") .withBody("some_request_body"), VerificationTimes.exactly(3) );VerificationTimes supports multiple static factory methods:once() - verify the request was only received once exactly(n) - verify the request was only received exactly n times atLeast(n) - verify the request was only received at least n times - Parameters:
- httpRequest- the http request that must be matched for this verification to pass
- times- the number of times this request must be matched
- Throws:
- AssertionError- if the request has not been found
 
 - 
verifyZeroInteractionspublic MockServerClient verifyZeroInteractions() throws AssertionError Verify no requests have been have been sent.- Throws:
- AssertionError- if any request has been found
 
 - 
retrieveRecordedRequestspublic HttpRequest[] retrieveRecordedRequests(HttpRequest httpRequest) Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- Returns:
- an array of all requests that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveRecordedRequestspublic String retrieveRecordedRequests(HttpRequest httpRequest, Format format) Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- format- the format to retrieve the expectations, either JAVA or JSON
- Returns:
- an array of all requests that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveRecordedRequestsAndResponsespublic HttpRequestAndHttpResponse[] retrieveRecordedRequestsAndResponses(HttpRequest httpRequest) Retrieve the recorded requests and responses that match the httpRequest parameter, use null for the parameter to retrieve all requests and responses- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request (and its corresponding response), use null for the parameter to retrieve for all requests
- Returns:
- an array of all requests and responses that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveRecordedRequestsAndResponsespublic String retrieveRecordedRequestsAndResponses(HttpRequest httpRequest, Format format) Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- format- the format to retrieve the expectations, either JAVA or JSON
- Returns:
- an array of all requests that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveRecordedExpectationspublic Expectation[] retrieveRecordedExpectations(HttpRequest httpRequest) Retrieve the request-response combinations that have been recorded as a list of expectations, only those that match the httpRequest parameter are returned, use null to retrieve all requests- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- Returns:
- an array of all expectations that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveRecordedExpectationspublic String retrieveRecordedExpectations(HttpRequest httpRequest, Format format) Retrieve the request-response combinations that have been recorded as a list of expectations, only those that match the httpRequest parameter are returned, use null to retrieve all requests- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- format- the format to retrieve the expectations, either JAVA or JSON
- Returns:
- an array of all expectations that have been recorded by the MockServer in the order they have been received and including duplicates where the same request has been received multiple times
 
 - 
retrieveLogMessagespublic String retrieveLogMessages(HttpRequest httpRequest) Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etc- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- Returns:
- all log messages recorded by the MockServer when creating expectations, matching expectations, performing verification, clearing logs, etc
 
 - 
retrieveLogMessagesArraypublic String[] retrieveLogMessagesArray(HttpRequest httpRequest) Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etc- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requests
- Returns:
- an array of all log messages recorded by the MockServer when creating expectations, matching expectations, performing verification, clearing logs, etc
 
 - 
whenpublic ForwardChainExpectation when(HttpRequest httpRequest) Specify an unlimited expectation that will respond regardless of the number of matching http for example:mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body") ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
- httpRequest- the http request that must be matched for this expectation to respond
- Returns:
- an Expectation object that can be used to specify the response
 
 - 
whenpublic ForwardChainExpectation when(HttpRequest httpRequest, Times times) Specify an limited expectation that will respond a specified number of times when the http is matched for example:mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body"), Times.exactly(5) ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
- httpRequest- the http request that must be matched for this expectation to respond
- times- the number of times to respond when this http is matched
- Returns:
- an Expectation object that can be used to specify the response
 
 - 
whenpublic ForwardChainExpectation when(HttpRequest httpRequest, Times times, TimeToLive timeToLive) Specify an limited expectation that will respond a specified number of times when the http is matched for example:mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body"), Times.exactly(5), TimeToLive.exactly(TimeUnit.SECONDS, 120) ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
- httpRequest- the http request that must be matched for this expectation to respond
- times- the number of times to respond when this http is matched
- timeToLive- the length of time from when the server receives the expectation that the expectation should be active
- Returns:
- an Expectation object that can be used to specify the response
 
 - 
sendExpectationpublic void sendExpectation(Expectation... expectations) Specify one or more expectations, normally this method should not be used directly instead the when(...) and response(...) or forward(...) or error(...) methods should be used for example:mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body"), Times.exactly(5), TimeToLive.exactly(TimeUnit.SECONDS, 120) ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
- expectations- one or more expectations
 
 - 
retrieveActiveExpectationspublic Expectation[] retrieveActiveExpectations(HttpRequest httpRequest) Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectations- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each expectation, use null for the parameter to retrieve for all requests
- Returns:
- an array of all expectations that have been setup and have not expired
 
 - 
retrieveActiveExpectationspublic String retrieveActiveExpectations(HttpRequest httpRequest, Format format) Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectations- Parameters:
- httpRequest- the http request that is matched against when deciding whether to return each expectation, use null for the parameter to retrieve for all requests
- format- the format to retrieve the expectations, either JAVA or JSON
- Returns:
- an array of all expectations that have been setup and have not expired
 
 
- 
 
-