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 Summary
Fields Modifier and Type Field Description protected CompletableFuture<Integer>portFuture
-
Constructor Summary
Constructors 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(ClientConfiguration configuration, String host, int port)Start the client communicating to a MockServer at the specified host and port for example:MockServerClient(ClientConfiguration configuration, String host, int port, String contextPath)Start the client communicating to a MockServer at the specified host and port and contextPath for example:MockServerClient(ClientConfiguration configuration, CompletableFuture<Integer> portFuture)Start the client communicating to a MockServer on localhost at the port specified with the FutureMockServerClient(Configuration configuration, String host, int port)Start the client communicating to a MockServer at the specified host and port for example:MockServerClient(Configuration configuration, String host, int port, String contextPath)Start the client communicating to a MockServer at the specified host and port and contextPath for example:MockServerClient(Configuration configuration, CompletableFuture<Integer> portFuture)Start the client communicating to a MockServer on localhost at the port specified with the Future
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description List<Integer>bind(Integer... ports)Bind new ports to listen onMockServerClientclear(String expectationId)Clear all expectations and logs that match the expectation idMockServerClientclear(String expectationId, ClearType type)Clear expectations, logs or both that match the expectation idMockServerClientclear(ExpectationId expectationId)Clear all expectations and logs that match the expectation idMockServerClientclear(ExpectationId expectationId, ClearType type)Clear expectations, logs or both that match the expectation idMockServerClientclear(RequestDefinition requestDefinition)Clear all expectations and logs that match the request matcherMockServerClientclear(RequestDefinition requestDefinition, ClearType type)Clear expectations, logs or both that match the request matcherMockServerClientclearGrpcDescriptors()voidclose()StringcontextPath()MockServerClientcrud(CrudExpectationsDefinition crudDefinition)Register a CRUD simulation that auto-generates RESTful endpoints for a given base path.StringdebugMismatch(RequestDefinition requestDefinition)Analyze why a request does not match any active expectations, showing per-field match failures for each expectation.IntegergetPort()booleanhasStarted()Returns whether MockServer has started, if called after MockServer has been stopped this method will block for 5 seconds while confirming MockServer is not startingbooleanhasStarted(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer has started, by polling the MockServer a configurable amount of timesbooleanhasStopped()Returns whether MockServer has stopped, if called too quickly after starting MockServer this may return false because MockServer has not yet started, to ensure MockServer has started use hasStarted()booleanhasStopped(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer has stopped, by polling the MockServer a configurable amount of times.booleanisRunning()Deprecated.use hasStopped() or hasStarted() insteadbooleanisRunning(int attempts, long timeout, TimeUnit timeUnit)Deprecated.use hasStopped() or hasStarted() insteadbooleanisSecure()MockServerClientopenUI()Launch UI and wait the default period to allow the UI to launch and start collecting logs, this ensures that the log are visible in the UI even if MockServer is shutdown by a test shutdown function, such as After, AfterClass, AfterAll, etcMockServerClientopenUI(TimeUnit timeUnit, long pause)Launch UI and wait a specified period to allow the UI to launch and start collecting logs, this ensures that the log are visible in the UI even if MockServer is shutdown by a test shutdown function, such as After, AfterClass, AfterAll, etcInetSocketAddressremoteAddress()MockServerClientreset()Reset MockServer by clearing all expectationsExpectation[]retrieveActiveExpectations(RequestDefinition requestDefinition)Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectationsStringretrieveActiveExpectations(RequestDefinition requestDefinition, Format format)Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectationsStringretrieveConfiguration()StringretrieveGrpcServices()LogEntry[]retrieveLogEntries(RequestDefinition requestDefinition)Retrieve log entries as typed objects that match the httpRequest parameter, use null for the parameter to retrieve all log entries.LogEntry[]retrieveLogEntries(RequestDefinition requestDefinition, long fromEpochMillis, long toEpochMillis)Retrieve log entries as typed objects that match the httpRequest parameter, filtered to a time window.LogEntry[]retrieveLogEntriesByCorrelationId(String correlationId)Retrieve log entries as typed objects filtered by correlation ID.StringretrieveLogMessages(RequestDefinition requestDefinition)Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etcString[]retrieveLogMessagesArray(RequestDefinition requestDefinition)Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etcStringretrieveLogsByCorrelationId(String correlationId)Retrieve all log entries that share the specified correlationId.StringretrieveMetrics()Expectation[]retrieveRecordedExpectations(RequestDefinition requestDefinition)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(RequestDefinition requestDefinition, 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(RequestDefinition requestDefinition)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsStringretrieveRecordedRequests(RequestDefinition requestDefinition, Format format)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsLogEventRequestAndResponse[]retrieveRecordedRequestsAndResponses(RequestDefinition requestDefinition)Retrieve the recorded requests and responses that match the httpRequest parameter, use null for the parameter to retrieve all requests and responsesStringretrieveRecordedRequestsAndResponses(RequestDefinition requestDefinition, Format format)Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requestsExpectation[]sendExpectation(Expectation... expectations)Deprecated.this is deprecated due to unclear naming, use method upsert(Expectation... expectations) insteadMockServerClientsetProxyConfiguration(ProxyConfiguration proxyConfiguration)Deprecated.use withProxyConfiguration which is more consistent with MockServer API styleMockServerClientsetRequestOverride(HttpRequest requestOverride)Deprecated.use withRequestOverride which is more consistent with MockServer API stylevoidstop()Stop MockServer gracefully (only support for Netty version, not supported for WAR version)CompletableFuture<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)StringupdateConfiguration(String configurationJson)MockServerClientuploadGrpcDescriptor(byte[] descriptorSetBytes)Expectation[]upsert(Expectation... expectations)Specify one or more expectations to be create, or updated (if the id matches).Expectation[]upsert(OpenAPIExpectation... openAPIExpectations)Specify OpenAPI and operations and responses to create matchers and example responsesMockServerClientverify(Integer maximumNumberOfRequestToReturnInVerificationFailure, ExpectationId... expectationIds)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(Integer maximumNumberOfRequestToReturnInVerificationFailure, RequestDefinition... requestDefinitions)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(String... expectationIds)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(String expectationId, VerificationTimes times)Verify a request has been sent for example:MockServerClientverify(ExpectationId... expectationIds)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(ExpectationId expectationId, VerificationTimes times)Verify a request has been sent for example:MockServerClientverify(ExpectationId expectationId, VerificationTimes times, Integer maximumNumberOfRequestToReturnInVerificationFailure)Verify a request has been sent for example:MockServerClientverify(RequestDefinition... requestDefinitions)Verify a list of requests have been sent in the order specified for example:MockServerClientverify(RequestDefinition requestDefinition, VerificationTimes times)Verify a request has been sent for example:MockServerClientverify(RequestDefinition requestDefinition, VerificationTimes times, Integer maximumNumberOfRequestToReturnInVerificationFailure)Verify a request has been sent for example:MockServerClientverifyZeroInteractions()Verify no requests have been sent.ForwardChainExpectationwhen(RequestDefinition requestDefinition)Specify an unlimited expectation that will respond regardless of the number of matching http for example:ForwardChainExpectationwhen(RequestDefinition requestDefinition, Times times)Specify a limited expectation that will respond a specified number of times when the http is matchedForwardChainExpectationwhen(RequestDefinition requestDefinition, Times times, TimeToLive timeToLive)Specify a limited expectation that will respond a specified number of times when the http is matchedForwardChainExpectationwhen(RequestDefinition requestDefinition, Times times, TimeToLive timeToLive, Integer priority)Specify a limited expectation that will respond a specified number of times when the http is matched and will be matched according to priority as follows:MockServerClientwithControlPlaneJWT(String controlPlaneJWT)Specify JWT to use for control plane authorisationMockServerClientwithControlPlaneJWT(Supplier<String> controlPlaneJWTSupplier)Specify JWT supplier to use for control plane authorisationMockServerClientwithProxyConfiguration(ProxyConfiguration proxyConfiguration)Configure communication to MockServer to go via a proxyMockServerClientwithRequestOverride(HttpRequest requestOverride)MockServerClientwithSecure(boolean secure)
-
-
-
Field Detail
-
portFuture
protected CompletableFuture<Integer> portFuture
-
-
Constructor Detail
-
MockServerClient
public MockServerClient(Configuration configuration, CompletableFuture<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
-
MockServerClient
public MockServerClient(ClientConfiguration configuration, CompletableFuture<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
-
MockServerClient
public 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 withport- the port for the MockServer to communicate with
-
MockServerClient
public MockServerClient(Configuration configuration, 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 withport- the port for the MockServer to communicate with
-
MockServerClient
public MockServerClient(ClientConfiguration configuration, 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 withport- the port for the MockServer to communicate with
-
MockServerClient
public 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 withport- the port for the MockServer to communicate withcontextPath- the context path that the MockServer war is deployed to
-
MockServerClient
public MockServerClient(Configuration configuration, 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 withport- the port for the MockServer to communicate withcontextPath- the context path that the MockServer war is deployed to
-
MockServerClient
public MockServerClient(ClientConfiguration configuration, 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 withport- the port for the MockServer to communicate withcontextPath- the context path that the MockServer war is deployed to
-
-
Method Detail
-
setProxyConfiguration
@Deprecated public MockServerClient setProxyConfiguration(ProxyConfiguration proxyConfiguration)
Deprecated.use withProxyConfiguration which is more consistent with MockServer API style
-
withProxyConfiguration
public MockServerClient withProxyConfiguration(ProxyConfiguration proxyConfiguration)
Configure communication to MockServer to go via a proxy
-
withControlPlaneJWT
public MockServerClient withControlPlaneJWT(String controlPlaneJWT)
Specify JWT to use for control plane authorisation
-
withControlPlaneJWT
public MockServerClient withControlPlaneJWT(Supplier<String> controlPlaneJWTSupplier)
Specify JWT supplier to use for control plane authorisation
-
setRequestOverride
@Deprecated public MockServerClient setRequestOverride(HttpRequest requestOverride)
Deprecated.use withRequestOverride which is more consistent with MockServer API style
-
withRequestOverride
public MockServerClient withRequestOverride(HttpRequest requestOverride)
-
isSecure
public boolean isSecure()
-
withSecure
public MockServerClient withSecure(boolean secure)
-
remoteAddress
public InetSocketAddress remoteAddress()
-
contextPath
public String contextPath()
-
getPort
public Integer getPort()
-
openUI
public MockServerClient openUI()
Launch UI and wait the default period to allow the UI to launch and start collecting logs, this ensures that the log are visible in the UI even if MockServer is shutdown by a test shutdown function, such as After, AfterClass, AfterAll, etc
-
openUI
public MockServerClient openUI(TimeUnit timeUnit, long pause)
Launch UI and wait a specified period to allow the UI to launch and start collecting logs, this ensures that the log are visible in the UI even if MockServer is shutdown by a test shutdown function, such as After, AfterClass, AfterAll, etc- Parameters:
timeUnit- TimeUnit the time unit, for example TimeUnit.SECONDSpause- the number of time units to delay before the function returns to ensure the UI is receiving logs
-
isRunning
@Deprecated public boolean isRunning()
Deprecated.use hasStopped() or hasStarted() insteadReturns whether MockServer is running, if called too quickly after starting MockServer this may return false because MockServer has not yet started, to ensure MockServer has started use hasStarted()
-
isRunning
@Deprecated public boolean isRunning(int attempts, long timeout, TimeUnit timeUnit)
Deprecated.use hasStopped() or hasStarted() insteadReturns whether server MockServer is running, by polling the MockServer a configurable amount of times. If called too quickly after starting MockServer this may return false because MockServer has not yet started, to ensure MockServer has started use hasStarted()
-
hasStopped
public boolean hasStopped()
Returns whether MockServer has stopped, if called too quickly after starting MockServer this may return false because MockServer has not yet started, to ensure MockServer has started use hasStarted()
-
hasStopped
public boolean hasStopped(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer has stopped, by polling the MockServer a configurable amount of times. If called too quickly after starting MockServer this may return false because MockServer has not yet started, to ensure MockServer has started use hasStarted()
-
hasStarted
public boolean hasStarted()
Returns whether MockServer has started, if called after MockServer has been stopped this method will block for 5 seconds while confirming MockServer is not starting
-
hasStarted
public boolean hasStarted(int attempts, long timeout, TimeUnit timeUnit)Returns whether server MockServer has started, by polling the MockServer a configurable amount of times
-
stopAsync
public Future<MockServerClient> stopAsync()
Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
-
stop
public void stop()
Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
-
stop
public CompletableFuture<MockServerClient> stop(boolean ignoreFailure)
Stop MockServer gracefully (only support for Netty version, not supported for WAR version)
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
reset
public MockServerClient reset()
Reset MockServer by clearing all expectations
-
clear
public MockServerClient clear(RequestDefinition requestDefinition)
Clear all expectations and logs that match the request matcher- Parameters:
requestDefinition- the http request that is matched against when deciding whether to clear each expectation if null all expectations are cleared
-
clear
public MockServerClient clear(String expectationId)
Clear all expectations and logs that match the expectation id- Parameters:
expectationId- the expectation id that is used to clear expectations and logs
-
clear
public MockServerClient clear(ExpectationId expectationId)
Clear all expectations and logs that match the expectation id- Parameters:
expectationId- the expectation id that is used to clear expectations and logs
-
clear
public MockServerClient clear(RequestDefinition requestDefinition, ClearType type)
Clear expectations, logs or both that match the request matcher- Parameters:
requestDefinition- the http request that is matched against when deciding whether to clear each expectation if null all expectations are clearedtype- the type to clear, EXPECTATION, LOG or BOTH
-
clear
public MockServerClient clear(String expectationId, ClearType type)
Clear expectations, logs or both that match the expectation id- Parameters:
expectationId- the expectation id that is used to clear expectations and logstype- the type to clear, EXPECTATION, LOG or BOTH
-
clear
public MockServerClient clear(ExpectationId expectationId, ClearType type)
Clear expectations, logs or both that match the expectation id- Parameters:
expectationId- the expectation id that is used to clear expectations and logstype- the type to clear, EXPECTATION, LOG or BOTH
-
verify
public MockServerClient verify(RequestDefinition... requestDefinitions) 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:
requestDefinitions- the http requests that must be matched for this verification to pass- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(Integer maximumNumberOfRequestToReturnInVerificationFailure, RequestDefinition... requestDefinitions) 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:
maximumNumberOfRequestToReturnInVerificationFailure- the maximum number requests return in the error response when the verification failsrequestDefinitions- the http requests that must be matched for this verification to pass- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(String... expectationIds) 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:
expectationIds- the http requests that must be matched for this verification to pass- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(ExpectationId... expectationIds) 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:
expectationIds- the http requests that must be matched for this verification to pass- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(Integer maximumNumberOfRequestToReturnInVerificationFailure, ExpectationId... expectationIds) 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:
maximumNumberOfRequestToReturnInVerificationFailure- the maximum number requests return in the error response when the verification failsexpectationIds- the http requests that must be matched for this verification to pass- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(RequestDefinition requestDefinition, 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:
requestDefinition- the http request that must be matched for this verification to passtimes- the number of times this request must be matched- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(RequestDefinition requestDefinition, VerificationTimes times, Integer maximumNumberOfRequestToReturnInVerificationFailure) 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:
requestDefinition- the http request that must be matched for this verification to passtimes- the number of times this request must be matchedmaximumNumberOfRequestToReturnInVerificationFailure- the maximum number requests return in the error response when the verification fails- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(String expectationId, 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:
expectationId- the http request that must be matched for this verification to passtimes- the number of times this request must be matched- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(ExpectationId expectationId, 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:
expectationId- the http request that must be matched for this verification to passtimes- the number of times this request must be matched- Throws:
AssertionError- if the request has not been found
-
verify
public MockServerClient verify(ExpectationId expectationId, VerificationTimes times, Integer maximumNumberOfRequestToReturnInVerificationFailure) 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:
expectationId- the http request that must be matched for this verification to passtimes- the number of times this request must be matchedmaximumNumberOfRequestToReturnInVerificationFailure- the maximum number requests return in the error response when the verification fails- Throws:
AssertionError- if the request has not been found
-
verifyZeroInteractions
public MockServerClient verifyZeroInteractions() throws AssertionError
Verify no requests have been sent.- Throws:
AssertionError- if any request has been found
-
retrieveRecordedRequests
public HttpRequest[] retrieveRecordedRequests(RequestDefinition requestDefinition)
Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
requestDefinition- 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
-
retrieveRecordedRequests
public String retrieveRecordedRequests(RequestDefinition requestDefinition, Format format)
Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
requestDefinition- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requestsformat- 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
-
retrieveRecordedRequestsAndResponses
public LogEventRequestAndResponse[] retrieveRecordedRequestsAndResponses(RequestDefinition requestDefinition)
Retrieve the recorded requests and responses that match the httpRequest parameter, use null for the parameter to retrieve all requests and responses- Parameters:
requestDefinition- 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
-
retrieveRecordedRequestsAndResponses
public String retrieveRecordedRequestsAndResponses(RequestDefinition requestDefinition, Format format)
Retrieve the recorded requests that match the httpRequest parameter, use null for the parameter to retrieve all requests- Parameters:
requestDefinition- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requestsformat- 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
-
retrieveRecordedExpectations
public Expectation[] retrieveRecordedExpectations(RequestDefinition requestDefinition)
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:
requestDefinition- 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
-
retrieveRecordedExpectations
public String retrieveRecordedExpectations(RequestDefinition requestDefinition, 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:
requestDefinition- the http request that is matched against when deciding whether to return each request, use null for the parameter to retrieve for all requestsformat- 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
-
retrieveLogMessages
public String retrieveLogMessages(RequestDefinition requestDefinition)
Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etc- Parameters:
requestDefinition- 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
-
retrieveLogMessagesArray
public String[] retrieveLogMessagesArray(RequestDefinition requestDefinition)
Retrieve the logs associated to a specific requests, this shows all logs for expectation matching, verification, clearing, etc- Parameters:
requestDefinition- 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
-
retrieveLogEntries
public LogEntry[] retrieveLogEntries(RequestDefinition requestDefinition)
Retrieve log entries as typed objects that match the httpRequest parameter, use null for the parameter to retrieve all log entries. Uses the LOG_ENTRIES format to get structured JSON log entries from the server.- Parameters:
requestDefinition- the http request that is matched against when deciding whether to return each log entry, use null to retrieve all- Returns:
- an array of all log entries that match
-
retrieveLogEntriesByCorrelationId
public LogEntry[] retrieveLogEntriesByCorrelationId(String correlationId)
Retrieve log entries as typed objects filtered by correlation ID. A correlationId groups all log entries for a single incoming HTTP request lifecycle.- Parameters:
correlationId- the correlation ID to filter by- Returns:
- an array of all log entries for the given correlation ID
-
retrieveLogEntries
public LogEntry[] retrieveLogEntries(RequestDefinition requestDefinition, long fromEpochMillis, long toEpochMillis)
Retrieve log entries as typed objects that match the httpRequest parameter, filtered to a time window. Only entries with epochTime between fromEpochMillis (inclusive) and toEpochMillis (exclusive) are returned. Note: time filtering is performed client-side after fetching all matching entries from the server.- Parameters:
requestDefinition- the http request that is matched against when deciding whether to return each log entry, use null to retrieve allfromEpochMillis- start of time window (inclusive), milliseconds since epochtoEpochMillis- end of time window (exclusive), milliseconds since epoch- Returns:
- an array of log entries within the specified time window
-
when
public ForwardChainExpectation when(RequestDefinition requestDefinition)
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:
requestDefinition- the http request that must be matched for this expectation to respond- Returns:
- an Expectation object that can be used to specify the response
-
when
public ForwardChainExpectation when(RequestDefinition requestDefinition, Times times)
Specify a limited expectation that will respond a specified number of times when the http is matchedExample use:
mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body"), Times.exactly(5) ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
requestDefinition- the http request that must be matched for this expectation to respondtimes- the number of times to respond when this http is matched- Returns:
- an Expectation object that can be used to specify the response
-
when
public ForwardChainExpectation when(RequestDefinition requestDefinition, Times times, TimeToLive timeToLive)
Specify a limited expectation that will respond a specified number of times when the http is matchedExample use:
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:
requestDefinition- the http request that must be matched for this expectation to respondtimes- the number of times to respond when this http is matchedtimeToLive- 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
-
when
public ForwardChainExpectation when(RequestDefinition requestDefinition, Times times, TimeToLive timeToLive, Integer priority)
Specify a limited expectation that will respond a specified number of times when the http is matched and will be matched according to priority as follows:- higher priority expectation will be matched first - identical priority expectations will be match in the order they were submitted - default priority is 0
Example use:
mockServerClient .when( request() .withPath("/some_path") .withBody("some_request_body"), Times.exactly(5), TimeToLive.exactly(TimeUnit.SECONDS, 120), 10 ) .respond( response() .withBody("some_response_body") .withHeader("responseName", "responseValue") )- Parameters:
requestDefinition- the http request that must be matched for this expectation to respondtimes- the number of times to respond when this http is matchedtimeToLive- the length of time from when the server receives the expectation that the expectation should be activepriority- the priority for the expectation when matching, higher priority expectation will be matched first, identical priority expectations will be match in the order they were submitted- Returns:
- an Expectation object that can be used to specify the response
-
upsert
public Expectation[] upsert(OpenAPIExpectation... openAPIExpectations)
Specify OpenAPI and operations and responses to create matchers and example responses- Parameters:
openAPIExpectations- the OpenAPI and operations and responses to create matchers and example responses- Returns:
- upserted expectations
-
upsert
public Expectation[] upsert(Expectation... expectations)
Specify one or more expectations to be create, or updated (if the id matches).This method should be used to update existing expectation by id. All fields will be updated for expectations with a matching id as the existing expectation is deleted and recreated.
To retrieve the id(s) for existing expectation(s) the retrieveActiveExpectations(HttpRequest httpRequest) method can be used.
Typically, to create expectations 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 to create or update (if the id field matches)- Returns:
- upserted expectations
-
crud
public MockServerClient crud(CrudExpectationsDefinition crudDefinition)
Register a CRUD simulation that auto-generates RESTful endpoints for a given base path.For example, with basePath "/api/users", MockServer will automatically handle:
- GET /api/users - list all items
- POST /api/users - create a new item
- GET /api/users/{id} - get an item by ID
- PUT /api/users/{id} - update an item by ID
- DELETE /api/users/{id} - delete an item by ID
- Parameters:
crudDefinition- the CRUD expectations definition specifying basePath, idField, idStrategy, and optional initial data- Returns:
- this MockServerClient for fluent chaining
-
sendExpectation
@Deprecated public Expectation[] sendExpectation(Expectation... expectations)
Deprecated.this is deprecated due to unclear naming, use method upsert(Expectation... expectations) insteadSpecify 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- Returns:
- added or updated expectations
-
retrieveActiveExpectations
public Expectation[] retrieveActiveExpectations(RequestDefinition requestDefinition)
Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectations- Parameters:
requestDefinition- 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
-
retrieveActiveExpectations
public String retrieveActiveExpectations(RequestDefinition requestDefinition, Format format)
Retrieve the active expectations match the httpRequest parameter, use null for the parameter to retrieve all expectations- Parameters:
requestDefinition- the http request that is matched against when deciding whether to return each expectation, use null for the parameter to retrieve for all requestsformat- the format to retrieve the expectations, either JAVA or JSON- Returns:
- an array of all expectations that have been setup and have not expired
-
debugMismatch
public String debugMismatch(RequestDefinition requestDefinition)
Analyze why a request does not match any active expectations, showing per-field match failures for each expectation. Returns a JSON string containing the total number of expectations, the closest match, and per-expectation results with field-level differences.- Parameters:
requestDefinition- the request to debug against active expectations- Returns:
- a JSON string with structured match analysis
-
retrieveLogsByCorrelationId
public String retrieveLogsByCorrelationId(String correlationId)
Retrieve all log entries that share the specified correlationId. A correlationId groups all log entries for a single incoming HTTP request lifecycle (received, match attempts, response).- Parameters:
correlationId- the correlation ID to filter by- Returns:
- a string containing all log entries for the given correlation ID
-
retrieveMetrics
public String retrieveMetrics()
-
retrieveConfiguration
public String retrieveConfiguration()
-
uploadGrpcDescriptor
public MockServerClient uploadGrpcDescriptor(byte[] descriptorSetBytes)
-
retrieveGrpcServices
public String retrieveGrpcServices()
-
clearGrpcDescriptors
public MockServerClient clearGrpcDescriptors()
-
-