| java.lang.Object com.mockrunner.connector.MappedRecordInteraction
MappedRecordInteraction | public class MappedRecordInteraction implements InteractionImplementor(Code) | | This interaction implementor works with mapped records. It takes a Map for
the request and a Map or a Record instance for the response.
If the request Map is null , which is the default,
the implementor accepts any request and returns the specified result. If a request
Map is specified, this implementor accepts only requests that contain the same
data as the specified expected request Map . The underlying maps are compared
as described in the Map.equals method.
If a request is accepted, this implementor replies with the specified
response. You can use the various constructors and set methods
to configure the expected request and the response.
Please check out the documentation of the various methods for details.
|
Method Summary | |
public boolean | canHandle(InteractionSpec interactionSpec, Record actualRequest, Record actualResponse) Returns true if this implementor is enabled and will handle the request. | public void | disable() Disables this implementor. | public void | enable() Enables this implementor. | public Record | execute(InteractionSpec interactionSpec, Record actualRequest) First version of the execute methods.
This method returns null , if the request does not match
according to the contract of
MappedRecordInteraction.canHandle . | public boolean | execute(InteractionSpec interactionSpec, Record actualRequest, Record actualResponse) Second version of the execute methods.
This method returns false , if the request does not match
according to the contract of
MappedRecordInteraction.canHandle . | public void | setExpectedRequest(Map expectedRequest) Sets the specified expected request Map . | public void | setResponse(Map responseMap) Prepares the specified response Map . | public void | setResponse(Map responseMap, Class responseClass) Prepares the specified response Map . | public void | setResponse(Record responseRecord) Prepares the response Record for the
MappedRecordInteraction.execute(InteractionSpec,Record) method. |
MappedRecordInteraction | public MappedRecordInteraction()(Code) | | Sets the expected request and the response to null ,
i.e. an empty response is returned for every request.
|
MappedRecordInteraction | public MappedRecordInteraction(Map expectedRequest, Map responseMap)(Code) | | Sets the specified expected request Map and prepares
the specified response Map . The response class for the
MappedRecordInteraction.execute(InteractionSpec,Record) method is set
to the default
com.mockrunner.mock.connector.cci.MockMappedRecord .
It is allowed to pass null for the request and response Map
which is equivalent to an empty expected request (i.e. every request is accepted)
or to an empty response respectively.
The specified response is returned, if the actual request matches the specified expected
request.
Parameters: expectedRequest - the expected request Map Parameters: responseMap - the response Map |
MappedRecordInteraction | public MappedRecordInteraction(Map responseMap, Class responseClass)(Code) | | Sets the expected request to null and prepares
the specified response Map . The response class for the
MappedRecordInteraction.execute(InteractionSpec,Record) method is set
to the specified responseClass . The specified
responseClass must implement MappedRecord ,
otherwise an IllegalArgumentException will be thrown.
It is allowed to pass null for the response Map
which is equivalent to an empty response.
The specified response is returned for every request.
Parameters: responseMap - the response Map Parameters: responseClass - the response Record class throws: IllegalArgumentException - if the responseClass is not valid |
MappedRecordInteraction | public MappedRecordInteraction(Map expectedRequest, Map responseMap, Class responseClass)(Code) | | Sets the specified expected request Map and prepares
the specified response Map . The response class for the
MappedRecordInteraction.execute(InteractionSpec,Record) method is set
to the specified responseClass . The specified
responseClass must implement MappedRecord ,
otherwise an IllegalArgumentException will be thrown.
It is allowed to pass null for the request and response Map
which is equivalent to an empty expected request (i.e. every request is accepted)
or to an empty response respectively.
The specified response is returned, if the actual request matches the specified expected
request.
Parameters: expectedRequest - the expected request Map Parameters: responseMap - the response Map Parameters: responseClass - the response Record class throws: IllegalArgumentException - if the responseClass is not valid |
canHandle | public boolean canHandle(InteractionSpec interactionSpec, Record actualRequest, Record actualResponse)(Code) | | Returns true if this implementor is enabled and will handle the request.
This method returns true if the following prerequisites are fulfilled:
It is enabled.
The response Record must implement MappedRecord
or it must be null (which is the case, if the actual request
targets the
MappedRecordInteraction.execute(InteractionSpec,Record) method instead of
MappedRecordInteraction.execute(InteractionSpec,Record,Record) ).
The expected request must be null (use the various
setExpectedRequest methods) or the actual request Record
must implement MappedRecord and must contain the same data as
the specified expected request Map according to Map.equals .
Otherwise, false is returned.
Parameters: interactionSpec - the InteractionSpec for the actual call Parameters: actualRequest - the request for the actual call Parameters: actualResponse - the response for the actual call, may be null true if this implementor will handle the request andwill return the specified response, false otherwise |
enable | public void enable()(Code) | | Enables this implementor.
|
execute | public Record execute(InteractionSpec interactionSpec, Record actualRequest) throws ResourceException(Code) | | First version of the execute methods.
This method returns null , if the request does not match
according to the contract of
MappedRecordInteraction.canHandle . This never happens under
normal conditions since the
InteractionHandler does not call
execute , if
MappedRecordInteraction.canHandle returns false .
Otherwise, this method returns the specified response. If a response
Record object is specified (use
MappedRecordInteraction.setResponse(Record) ),
it always takes precedence, i.e. the response Map will be ignored.
If no Record object is specified, a Record object
is created and filled with the specified response Map data. Use the
setResponse methods that take a Map
to prepare the response Map . The created Record is of the the
specified type (the setResponse method that takes a second
Class parameter allows for specifying a type). If no type
is specified, a
com.mockrunner.mock.connector.cci.MockMappedRecord is created. If no response Map is specified at all, an empty
com.mockrunner.mock.connector.cci.MockMappedRecord will be returned.
Parameters: interactionSpec - the interaction spec Parameters: actualRequest - the actual request the response according to the current request |
execute | public boolean execute(InteractionSpec interactionSpec, Record actualRequest, Record actualResponse) throws ResourceException(Code) | | Second version of the execute methods.
This method returns false , if the request does not match
according to the contract of
MappedRecordInteraction.canHandle . This never happens under
normal conditions since the
InteractionHandler does not call
execute , if
MappedRecordInteraction.canHandle returns false .
Otherwise, this method fills the response Record with the
specified response Map data. Use the setResponse methods that
take a Map to prepare the response Map .
The response Record must implement MappedRecord
(it does, otherwise the request would have been rejected by
MappedRecordInteraction.canHandle ). If no response Map is specified at all,
the response Record is not touched but true
is returned anyway
Parameters: interactionSpec - the interaction spec Parameters: actualRequest - the actual request Parameters: actualResponse - the actual response true under normal conditions |
setExpectedRequest | public void setExpectedRequest(Map expectedRequest)(Code) | | Sets the specified expected request Map . The response is returned,
if the actual request matches the specified expected request Map
according to Map.equals .
It is allowed to pass null for the request Map
which is equivalent to an empty expected request (i.e. every request
is accepted).
Parameters: expectedRequest - the expected request Map |
setResponse | public void setResponse(Map responseMap, Class responseClass)(Code) | | Prepares the specified response Map . The response class for the
MappedRecordInteraction.execute(InteractionSpec,Record) method is set
to the specified responseClass . The specified
responseClass must implement MappedRecord ,
otherwise an IllegalArgumentException will be thrown.
It is allowed to pass null for the response Map
which is equivalent to an empty response.
Parameters: responseMap - the response Map Parameters: responseClass - the response Record class throws: IllegalArgumentException - if the responseClass is not valid |
|
|