Package com.consol.citrus.actions
Class ReceiveMessageAction
- java.lang.Object
-
- com.consol.citrus.actions.AbstractTestAction
-
- com.consol.citrus.actions.ReceiveMessageAction
-
- All Implemented Interfaces:
com.consol.citrus.common.Described
,com.consol.citrus.common.Named
,com.consol.citrus.TestAction
,com.consol.citrus.TestActorAware
public class ReceiveMessageAction extends AbstractTestAction
This action receives messages from a service destination. Action uses aEndpoint
to receive the message, this means that action is independent from any message transport. The received message is validated using aMessageValidator
supporting expected control message payload and header templates.- Since:
- 2008
- Author:
- Christoph Deppisch
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ReceiveMessageAction.Builder
Action builder.static class
ReceiveMessageAction.ReceiveMessageActionBuilder<T extends ReceiveMessageAction,M extends ReceiveMessageBuilderSupport<T,B,M>,B extends ReceiveMessageAction.ReceiveMessageActionBuilder<T,M,B>>
static class
ReceiveMessageAction.ReceiveMessageActionBuilderSupport
-
Field Summary
-
Fields inherited from class com.consol.citrus.actions.AbstractTestAction
description
-
-
Constructor Summary
Constructors Constructor Description ReceiveMessageAction(ReceiveMessageAction.ReceiveMessageActionBuilder<?,?,?> builder)
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.consol.citrus.message.Message
createControlMessage(com.consol.citrus.context.TestContext context, String messageType)
Create control message that is expected.void
doExecute(com.consol.citrus.context.TestContext context)
Method receives a message viaEndpoint
instance constructs a validation context and starts the message validation viaMessageValidator
.List<com.consol.citrus.message.MessageProcessor>
getControlMessageProcessors()
Obtains the control message processors.com.consol.citrus.variable.dictionary.DataDictionary<?>
getDataDictionary()
Gets the data dictionary.com.consol.citrus.endpoint.Endpoint
getEndpoint()
Get the message endpoint.String
getEndpointUri()
Gets the endpoint uri.com.consol.citrus.message.MessageBuilder
getMessageBuilder()
Gets the messageBuilder.List<com.consol.citrus.message.MessageProcessor>
getMessageProcessors()
Obtains the message processors.String
getMessageSelector()
Gets the messageSelector.Map<String,Object>
getMessageSelectorMap()
Gets the messageSelectorMap.String
getMessageType()
Gets the message type for this receive action.com.consol.citrus.endpoint.Endpoint
getOrCreateEndpoint(com.consol.citrus.context.TestContext context)
Creates or gets the endpoint instance.long
getReceiveTimeout()
Gets the receiveTimeout.List<com.consol.citrus.validation.context.ValidationContext>
getValidationContexts()
Gets the validationContexts.com.consol.citrus.validation.ValidationProcessor
getValidationProcessor()
Gets the validationProcessor.List<com.consol.citrus.validation.MessageValidator<? extends com.consol.citrus.validation.context.ValidationContext>>
getValidators()
Gets the validator.List<com.consol.citrus.variable.VariableExtractor>
getVariableExtractors()
Gets the variable extractors.boolean
isDisabled(com.consol.citrus.context.TestContext context)
Checks if this test action is disabled.protected void
validateMessage(com.consol.citrus.message.Message message, com.consol.citrus.context.TestContext context)
Override this message if you want to add additional message validation-
Methods inherited from class com.consol.citrus.actions.AbstractTestAction
execute, getActor, getDescription, getName, setActor, setDescription, setName
-
-
-
-
Constructor Detail
-
ReceiveMessageAction
public ReceiveMessageAction(ReceiveMessageAction.ReceiveMessageActionBuilder<?,?,?> builder)
Default constructor.
-
-
Method Detail
-
doExecute
public void doExecute(com.consol.citrus.context.TestContext context)
Method receives a message viaEndpoint
instance constructs a validation context and starts the message validation viaMessageValidator
.- Specified by:
doExecute
in classAbstractTestAction
-
validateMessage
protected void validateMessage(com.consol.citrus.message.Message message, com.consol.citrus.context.TestContext context)
Override this message if you want to add additional message validation- Parameters:
message
-
-
createControlMessage
protected com.consol.citrus.message.Message createControlMessage(com.consol.citrus.context.TestContext context, String messageType)
Create control message that is expected. Apply global and local message processors and data dictionaries.- Parameters:
context
-messageType
-- Returns:
-
isDisabled
public boolean isDisabled(com.consol.citrus.context.TestContext context)
Description copied from class:AbstractTestAction
Checks if this test action is disabled. Delegates to test actor defined for this test action by default. Subclasses may add additional disabled logic here.- Specified by:
isDisabled
in interfacecom.consol.citrus.TestAction
- Overrides:
isDisabled
in classAbstractTestAction
- Parameters:
context
- the current test context.
-
getOrCreateEndpoint
public com.consol.citrus.endpoint.Endpoint getOrCreateEndpoint(com.consol.citrus.context.TestContext context)
Creates or gets the endpoint instance.- Parameters:
context
-- Returns:
-
getEndpoint
public com.consol.citrus.endpoint.Endpoint getEndpoint()
Get the message endpoint.- Returns:
- the message endpoint
-
getEndpointUri
public String getEndpointUri()
Gets the endpoint uri.- Returns:
-
getVariableExtractors
public List<com.consol.citrus.variable.VariableExtractor> getVariableExtractors()
Gets the variable extractors.- Returns:
- the variableExtractors
-
getMessageProcessors
public List<com.consol.citrus.message.MessageProcessor> getMessageProcessors()
Obtains the message processors.- Returns:
-
getControlMessageProcessors
public List<com.consol.citrus.message.MessageProcessor> getControlMessageProcessors()
Obtains the control message processors.- Returns:
-
getMessageType
public String getMessageType()
Gets the message type for this receive action.- Returns:
- the messageType
-
getMessageSelectorMap
public Map<String,Object> getMessageSelectorMap()
Gets the messageSelectorMap.- Returns:
- the messageSelectorMap
-
getMessageSelector
public String getMessageSelector()
Gets the messageSelector.- Returns:
- the messageSelector
-
getReceiveTimeout
public long getReceiveTimeout()
Gets the receiveTimeout.- Returns:
- the receiveTimeout
-
getValidators
public List<com.consol.citrus.validation.MessageValidator<? extends com.consol.citrus.validation.context.ValidationContext>> getValidators()
Gets the validator.- Returns:
- the validator
-
getValidationContexts
public List<com.consol.citrus.validation.context.ValidationContext> getValidationContexts()
Gets the validationContexts.- Returns:
- the validationContexts
-
getValidationProcessor
public com.consol.citrus.validation.ValidationProcessor getValidationProcessor()
Gets the validationProcessor.- Returns:
- the validationProcessor the validationProcessor to get.
-
getDataDictionary
public com.consol.citrus.variable.dictionary.DataDictionary<?> getDataDictionary()
Gets the data dictionary.- Returns:
-
getMessageBuilder
public com.consol.citrus.message.MessageBuilder getMessageBuilder()
Gets the messageBuilder.- Returns:
- the messageBuilder
-
-