Class AbstractRequestExpectationManager
java.lang.Object
org.springframework.test.web.client.AbstractRequestExpectationManager
- All Implemented Interfaces:
RequestExpectationManager
- Direct Known Subclasses:
SimpleRequestExpectationManager
,UnorderedRequestExpectationManager
public abstract class AbstractRequestExpectationManager
extends Object
implements RequestExpectationManager
Base class for
RequestExpectationManager
implementations responsible
for storing expectations and actual requests, and checking for unsatisfied
expectations at the end.
Subclasses are responsible for validating each request by matching it to to expectations following the order of declaration or not.
- Since:
- 4.3
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
Helper class to manage a group of remaining expectations. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Invoked at the time of the first actual request, which effectively means the expectations declaration phase is over.protected AssertionError
Return anAssertionError
that a sub-class can raise for an unexpected request.expectRequest
(ExpectedCount count, RequestMatcher matcher) Set up a new request expectation.protected List<RequestExpectation>
Return a read-only list of the expectations.protected String
Return details of executed requests.protected List<ClientHttpRequest>
Return a read-only list of requests executed so far.protected RequestExpectation
matchRequest
(ClientHttpRequest request) As of 5.0.3 subclasses should implement this method instead of#validateRequestInternal(ClientHttpRequest)
in order to match the request to an expectation, leaving the call to create the response as a separate step (to be invoked by this class).void
reset()
Reset the internal state removing all expectations and recorded requests.validateRequest
(ClientHttpRequest request) Validate the given actual request against the declared expectations.void
verify()
Verify that all expectations have been met.void
Variant ofRequestExpectationManager.verify()
that waits for up to the specified time for all expectations to be fulfilled.
-
Constructor Details
-
AbstractRequestExpectationManager
public AbstractRequestExpectationManager()
-
-
Method Details
-
getExpectations
Return a read-only list of the expectations. -
getRequests
Return a read-only list of requests executed so far. -
expectRequest
Description copied from interface:RequestExpectationManager
Set up a new request expectation. The returnedResponseActions
is used to add more expectations and define a response.This is a delegate for
MockRestServiceServer.expect(ExpectedCount, RequestMatcher)
.- Specified by:
expectRequest
in interfaceRequestExpectationManager
matcher
- a request expectation- Returns:
- for setting up further expectations and define a response
- See Also:
-
validateRequest
Description copied from interface:RequestExpectationManager
Validate the given actual request against the declared expectations. Is successful return the mock response to use or raise an error.This is used in
MockRestServiceServer
against actual requests.- Specified by:
validateRequest
in interfaceRequestExpectationManager
- Parameters:
request
- the request- Returns:
- the response to return if the request was validated.
- Throws:
IOException
- in case of any validation errors
-
afterExpectationsDeclared
protected void afterExpectationsDeclared()Invoked at the time of the first actual request, which effectively means the expectations declaration phase is over. -
matchRequest
As of 5.0.3 subclasses should implement this method instead of#validateRequestInternal(ClientHttpRequest)
in order to match the request to an expectation, leaving the call to create the response as a separate step (to be invoked by this class).- Parameters:
request
- the current request- Returns:
- the matched expectation with its request count updated via
RequestExpectation.incrementAndValidate()
. - Throws:
IOException
- Since:
- 5.0.3
-
verify
public void verify()Description copied from interface:RequestExpectationManager
Verify that all expectations have been met.This is a delegate for
MockRestServiceServer.verify()
.- Specified by:
verify
in interfaceRequestExpectationManager
- See Also:
-
verify
Description copied from interface:RequestExpectationManager
Variant ofRequestExpectationManager.verify()
that waits for up to the specified time for all expectations to be fulfilled. This can be useful for tests that involve asynchronous requests.- Specified by:
verify
in interfaceRequestExpectationManager
- Parameters:
timeout
- how long to wait for all expecations to be met
-
getRequestDetails
Return details of executed requests. -
createUnexpectedRequestError
Return anAssertionError
that a sub-class can raise for an unexpected request. -
reset
public void reset()Description copied from interface:RequestExpectationManager
Reset the internal state removing all expectations and recorded requests.This is a delegate for
MockRestServiceServer.reset()
.- Specified by:
reset
in interfaceRequestExpectationManager
- See Also:
-