Class MockMessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.test.mock.MockMessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.DisposableBean,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware,org.springframework.core.Ordered,org.springframework.integration.context.ExpressionCapable,org.springframework.integration.context.Orderable,org.springframework.integration.core.MessageProducer,org.springframework.integration.handler.HeaderPropagationAware,org.springframework.integration.IntegrationPattern,org.springframework.integration.support.context.NamedComponent,org.springframework.integration.support.management.IntegrationManagement,org.springframework.integration.support.management.TrackableComponent,org.springframework.messaging.MessageHandler,reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>
public class MockMessageHandler
extends org.springframework.integration.handler.AbstractMessageProducingHandler
The
AbstractMessageProducingHandler extension for the mocking purpose in tests.
The provided Consumers and Functions are applied to the incoming
messages one at a time until the last, which is applied for all subsequent messages.
The similar behavior exists in the
Mockito.doReturn(Object toBeReturned, Object... toBeReturnedNext).
Typically is used as a chain of stub actions:
MockIntegration.mockMessageHandler()
.handleNext(...)
.handleNext(...)
.handleNextAndReply(...)
.handleNextAndReply(...)
.handleNext(...)
.handleNextAndReply(...);
- Since:
- 5.0
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description protected booleanhasRepliesprotected java.util.function.Function<org.springframework.messaging.Message<?>,?>lastFunctionprotected java.util.List<java.util.function.Function<org.springframework.messaging.Message<?>,?>>messageFunctionsFields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, logger -
Constructor Summary
Constructors Modifier Constructor Description protectedMockMessageHandler(org.mockito.ArgumentCaptor<org.springframework.messaging.Message<?>> messageArgumentCaptor) -
Method Summary
Modifier and Type Method Description protected voidhandleMessageInternal(org.springframework.messaging.Message<?> message)MockMessageHandlerhandleNext(java.util.function.Consumer<org.springframework.messaging.Message<?>> nextMessageConsumer)Add theConsumerto the stack to handle the next incoming message.MockMessageHandlerhandleNextAndReply(java.util.function.Function<org.springframework.messaging.Message<?>,?> nextMessageFunction)Add theFunctionto the stack to handle the next incoming message and produce reply for it.Methods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, onInit, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribeMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getComponentType, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
messageFunctions
protected final java.util.List<java.util.function.Function<org.springframework.messaging.Message<?>,?>> messageFunctions -
lastFunction
protected java.util.function.Function<org.springframework.messaging.Message<?>,?> lastFunction -
hasReplies
protected boolean hasReplies
-
-
Constructor Details
-
MockMessageHandler
protected MockMessageHandler(org.mockito.ArgumentCaptor<org.springframework.messaging.Message<?>> messageArgumentCaptor)
-
-
Method Details
-
handleNext
public MockMessageHandler handleNext(java.util.function.Consumer<org.springframework.messaging.Message<?>> nextMessageConsumer)Add theConsumerto the stack to handle the next incoming message.- Parameters:
nextMessageConsumer- the Consumer to handle the next incoming message.- Returns:
- this
-
handleNextAndReply
public MockMessageHandler handleNextAndReply(java.util.function.Function<org.springframework.messaging.Message<?>,?> nextMessageFunction)Add theFunctionto the stack to handle the next incoming message and produce reply for it.- Parameters:
nextMessageFunction- the Function to handle the next incoming message.- Returns:
- this
-
handleMessageInternal
protected void handleMessageInternal(org.springframework.messaging.Message<?> message)- Specified by:
handleMessageInternalin classorg.springframework.integration.handler.AbstractMessageHandler
-