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 expectations following the order of declaration or not.
- Since:
- 4.3
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classHelper class to manage a group of remaining expectations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidInvoked at the time of the first actual request, which effectively means the expectations declaration phase is over.protected AssertionErrorReturn anAssertionErrorthat a subclass 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 StringReturn details of executed requests.protected List<ClientHttpRequest>Return a read-only list of requests executed so far.protected RequestExpectationmatchRequest(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).voidreset()Reset the internal state removing all expectations and recorded requests.validateRequest(ClientHttpRequest request) Validate the given actual request against the declared expectations.voidverify()Verify that all expectations have been met.voidVariant 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:RequestExpectationManagerSet up a new request expectation. The returnedResponseActionsis used to add more expectations and define a response.This is a delegate for
MockRestServiceServer.expect(ExpectedCount, RequestMatcher).- Specified by:
expectRequestin interfaceRequestExpectationManagermatcher- a request expectation- Returns:
- for setting up further expectations and define a response
- See Also:
-
validateRequest
Description copied from interface:RequestExpectationManagerValidate the given actual request against the declared expectations. Is successful return the mock response to use or raise an error.This is used in
MockRestServiceServeragainst actual requests.- Specified by:
validateRequestin 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:RequestExpectationManagerVerify that all expectations have been met.This is a delegate for
MockRestServiceServer.verify().- Specified by:
verifyin interfaceRequestExpectationManager- See Also:
-
verify
Description copied from interface:RequestExpectationManagerVariant 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:
verifyin interfaceRequestExpectationManager- Parameters:
timeout- how long to wait for all expectations to be met
-
getRequestDetails
Return details of executed requests. -
createUnexpectedRequestError
Return anAssertionErrorthat a subclass can raise for an unexpected request. -
reset
public void reset()Description copied from interface:RequestExpectationManagerReset the internal state removing all expectations and recorded requests.This is a delegate for
MockRestServiceServer.reset().- Specified by:
resetin interfaceRequestExpectationManager- See Also:
-