public interface FixtureConfiguration
Modifier and Type | Method and Description |
---|---|
Instant |
currentTime()
Returns the time as "known" by the fixture.
|
GivenAggregateEventPublisher |
givenAggregate(String aggregateIdentifier)
Use this method to indicate that an aggregate with given identifier published certain events.
|
ContinuedGivenState |
givenAPublished(Object event)
Indicates that the given
applicationEvent has been published in the past. |
ContinuedGivenState |
givenCurrentTime(Instant currentTime)
Use this method to indicate a specific moment as the initial current time "known" by the fixture at the start
of the given state.
|
WhenState |
givenNoPriorActivity()
Indicates that no relevant activity has occurred in the past.
|
<T> T |
registerCommandGateway(Class<T> gatewayInterface)
Creates a Command Gateway for the given
gatewayInterface and registers that as a resource. |
<T> T |
registerCommandGateway(Class<T> gatewayInterface,
T stubImplementation)
Creates a Command Gateway for the given
gatewayInterface and registers that as a resource. |
FixtureConfiguration |
registerDeadlineDispatchInterceptor(MessageDispatchInterceptor<DeadlineMessage<?>> deadlineDispatchInterceptor)
Registers a deadline dispatch interceptor which will always be invoked before a deadline is dispatched
(scheduled) on the
DeadlineManager to perform a task specified in the
interceptor. |
FixtureConfiguration |
registerDeadlineHandlerInterceptor(MessageHandlerInterceptor<DeadlineMessage<?>> deadlineHandlerInterceptor)
Registers a deadline handler interceptor which will always be invoked before a deadline is handled to perform a
task specified in the interceptor.
|
FixtureConfiguration |
registerFieldFilter(FieldFilter fieldFilter)
Registers the given
fieldFilter , which is used to define which Fields are used when comparing
objects. |
FixtureConfiguration |
registerHandlerDefinition(HandlerDefinition handlerDefinition)
Registers handler definition within this fixture.
|
FixtureConfiguration |
registerIgnoredField(Class<?> declaringClass,
String fieldName)
Indicates that a field with given
fieldName , which is declared in given declaringClass
is ignored when performing deep equality checks. |
void |
registerResource(Object resource)
Registers the given
resource . |
void |
setCallbackBehavior(CallbackBehavior callbackBehavior)
Sets the instance that defines the behavior of the Command Bus when a command is dispatched with a callback.
|
FixtureConfiguration |
withTransienceCheckDisabled()
Disables the check that injected resources are stored in fields that are marked 'transient'.
|
FixtureConfiguration withTransienceCheckDisabled()
void registerResource(Object resource)
resource
. When a Saga is created, all resources are injected on that instance
before any Events are passed onto it.
Note that a CommandBus, EventBus and EventScheduler are already registered as resources, and need not be
registered again.
Also note that you might need to reset the resources manually if you want to isolate behavior during the "when"
stage of the test.resource
- the resource to register.<T> T registerCommandGateway(Class<T> gatewayInterface)
gatewayInterface
and registers that as a resource. The
gateway will dispatch commands on the Command Bus contained in this Fixture, so that you can validate commands
using FixtureExecutionResult.expectDispatchedCommands(Object...)
and FixtureExecutionResult.expectDispatchedCommandsMatching(org.hamcrest.Matcher)
.
Note that you need to use setCallbackBehavior(org.axonframework.test.utils.CallbackBehavior)
to defined
the behavior of commands when expecting return values. Alternatively, you can use registerCommandGateway(Class, Object)
to define behavior using a stub implementation.T
- The gateway typegatewayInterface
- The interface describing the gateway<T> T registerCommandGateway(Class<T> gatewayInterface, T stubImplementation)
gatewayInterface
and registers that as a resource. The
gateway will dispatch commands on the Command Bus contained in this Fixture, so that you can validate commands
using FixtureExecutionResult.expectDispatchedCommands(Object...)
and FixtureExecutionResult.expectDispatchedCommandsMatching(org.hamcrest.Matcher)
.
The behavior of the created gateway is defined by the given stubImplementation
, if not null.
Dispatched Commands are still recorded for verification. Note that only commands executed in the "when" phase
are recorded, while the stub implementation may record activity during the "given" phase as well.T
- The gateway typegatewayInterface
- The interface describing the gatewaystubImplementation
- The stub or mock implementation defining behavior of the gatewayFixtureConfiguration registerFieldFilter(FieldFilter fieldFilter)
fieldFilter
, which is used to define which Fields are used when comparing
objects. The ResultValidator.expectEvents(Object...)
and ResultValidator#expectReturnValue(Object)
,
for example, use this filter.
When multiple filters are registered, a Field must be accepted by all registered filters in order to be
accepted.
By default, all Fields are included in the comparison.fieldFilter
- The FieldFilter that defines which fields to include in the comparisonFixtureConfiguration registerIgnoredField(Class<?> declaringClass, String fieldName)
fieldName
, which is declared in given declaringClass
is ignored when performing deep equality checks.declaringClass
- The class declaring the fieldfieldName
- The name of the fieldFixtureExecutionException
- when no such field is declaredFixtureConfiguration registerHandlerDefinition(HandlerDefinition handlerDefinition)
handlerDefinition
will replace existing one within
this fixture.handlerDefinition
- used to create concrete handlersFixtureConfiguration registerDeadlineDispatchInterceptor(MessageDispatchInterceptor<DeadlineMessage<?>> deadlineDispatchInterceptor)
DeadlineManager
to perform a task specified in the
interceptor.deadlineDispatchInterceptor
- the interceptor for dispatching (scheduling) deadlinesFixtureConfiguration registerDeadlineHandlerInterceptor(MessageHandlerInterceptor<DeadlineMessage<?>> deadlineHandlerInterceptor)
deadlineHandlerInterceptor
- the interceptor for handling deadlinesvoid setCallbackBehavior(CallbackBehavior callbackBehavior)
callbackBehavior
- The instance deciding to how the callback should be invoked.GivenAggregateEventPublisher givenAggregate(String aggregateIdentifier)
andThenAggregate(someIdentifier).published(someEvents)
aggregateIdentifier
- The identifier of the aggregate the events should appear to come fromContinuedGivenState givenCurrentTime(Instant currentTime)
currentTime
- The simulated "current time" at which the given state is initializedContinuedGivenState givenAPublished(Object event)
applicationEvent
has been published in the past. This event is sent to the
associated sagas.event
- The event to publishWhenState givenNoPriorActivity()
Instant currentTime()
Copyright © 2010–2018. All rights reserved.