T - The type of Aggregate tested in this Fixturepublic class AggregateTestFixture<T> extends Object implements FixtureConfiguration<T>, TestExecutor
FixtureConfiguration.| Constructor and Description | 
|---|
AggregateTestFixture(Class<T> aggregateType)
Initializes a new given-when-then style test fixture for the given  
aggregateType. | 
| Modifier and Type | Method and Description | 
|---|---|
TestExecutor | 
andGiven(List<?> domainEvents)
Configures the given  
domainEvents as the "given" events. | 
TestExecutor | 
andGiven(Object... domainEvents)
Configures the given  
domainEvents as the "given" events. | 
TestExecutor | 
andGivenCommands(List<?> commands)
Configures the given  
commands as the command that will provide the "given" events. | 
TestExecutor | 
andGivenCommands(Object... commands)
Configures the given  
commands as the command that will provide the "given" events. | 
CommandBus | 
getCommandBus()
Returns the command bus used by this fixture. 
 | 
EventBus | 
getEventBus()
Returns the event bus used by this fixture. 
 | 
EventStore | 
getEventStore()
Returns the event store used by this fixture. 
 | 
Repository<T> | 
getRepository()
Returns the repository used by this fixture. 
 | 
TestExecutor | 
given(List<?> domainEvents)
Configures the given  
domainEvents as the "given" events. | 
TestExecutor | 
given(Object... domainEvents)
Configures the given  
domainEvents as the "given" events. | 
TestExecutor | 
givenCommands(List<?> commands)
Configures the given  
commands as the command that will provide the "given" events. | 
TestExecutor | 
givenCommands(Object... commands)
Configures the given  
commands as the command that will provide the "given" events. | 
TestExecutor | 
givenNoPriorActivity()
Indicates that no relevant activity has occurred in the past. 
 | 
FixtureConfiguration<T> | 
registerAggregateFactory(AggregateFactory<T> aggregateFactory)
Registers the given  
aggregateFactory with the fixture. | 
FixtureConfiguration<T> | 
registerAnnotatedCommandHandler(Object annotatedCommandHandler)
Registers an  
annotatedCommandHandler with this fixture. | 
FixtureConfiguration<T> | 
registerCommandDispatchInterceptor(MessageDispatchInterceptor<CommandMessage<?>> commandDispatchInterceptor)
Register a command dispatch interceptor which will always be invoked before a command is dispatched on the
 command bus to perform a task specified in the interceptor. 
 | 
FixtureConfiguration<T> | 
registerCommandHandler(Class<?> payloadType,
                      MessageHandler<CommandMessage<?>> commandHandler)
Registers a  
commandHandler to handle commands of the given commandType with the
 command bus used by this fixture. | 
FixtureConfiguration<T> | 
registerCommandHandler(String commandName,
                      MessageHandler<CommandMessage<?>> commandHandler)
Registers a  
commandHandler to handle commands of the given commandType with the
 command bus used by this fixture. | 
FixtureConfiguration<T> | 
registerCommandHandlerInterceptor(MessageHandlerInterceptor<CommandMessage<?>> commandHanderInterceptor)
Register a command handler interceptor which may be invoked before or after the command has been dispatched on
 the command bus to perform a task specified in the interceptor. 
 | 
FixtureConfiguration<T> | 
registerFieldFilter(FieldFilter fieldFilter)
Registers the given  
fieldFilter, which is used to define which Fields are used when comparing
 objects. | 
FixtureConfiguration<T> | 
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. | 
FixtureConfiguration<T> | 
registerInjectableResource(Object resource)
Registers a resource that is eligible for injection in handler method (e.g. 
 | 
FixtureConfiguration<T> | 
registerRepository(EventSourcingRepository<T> eventSourcingRepository)
Registers an arbitrary event sourcing  
repository with the fixture. | 
void | 
setReportIllegalStateChange(boolean reportIllegalStateChange)
Sets whether or not the fixture should detect and report state changes that occur outside of Event Handler
 methods. 
 | 
ResultValidator | 
when(Object command)
Dispatches the given command to the appropriate command handler and records all activity in the fixture for
 result validation. 
 | 
ResultValidator | 
when(Object command,
    Map<String,?> metaData)
Dispatches the given command and meta data to the appropriate command handler and records all
 activity in the fixture for result validation. 
 | 
public FixtureConfiguration<T> registerRepository(EventSourcingRepository<T> eventSourcingRepository)
FixtureConfigurationrepository with the fixture. The repository must be wired
 with the Event Store of this test fixture.
 
 Should not be used in combination with FixtureConfiguration.registerAggregateFactory(org.axonframework.eventsourcing.AggregateFactory), as that will overwrite any
 repository previously registered.registerRepository in interface FixtureConfiguration<T>eventSourcingRepository - The repository to use in the test casepublic FixtureConfiguration<T> registerAggregateFactory(AggregateFactory<T> aggregateFactory)
FixtureConfigurationaggregateFactory with the fixture. The repository used by the fixture will use
 the given factory to create new aggregate instances. Defaults to an Aggregate Factory that uses the no-arg
 constructor to create new instances.
 
 Should not be used in combination with FixtureConfiguration.registerRepository(org.axonframework.eventsourcing.EventSourcingRepository), as that will overwrite any
 aggregate factory previously registered.registerAggregateFactory in interface FixtureConfiguration<T>aggregateFactory - The Aggregate Factory to create empty aggregates withpublic FixtureConfiguration<T> registerAnnotatedCommandHandler(Object annotatedCommandHandler)
FixtureConfigurationannotatedCommandHandler with this fixture. This will register this command handler
 with the command bus used in this fixture.registerAnnotatedCommandHandler in interface FixtureConfiguration<T>annotatedCommandHandler - The command handler to register for this testpublic FixtureConfiguration<T> registerCommandHandler(Class<?> payloadType, MessageHandler<CommandMessage<?>> commandHandler)
FixtureConfigurationcommandHandler to handle commands of the given commandType with the
 command bus used by this fixture.registerCommandHandler in interface FixtureConfiguration<T>payloadType - The type of command to register the handler forcommandHandler - The handler to registerpublic FixtureConfiguration<T> registerCommandHandler(String commandName, MessageHandler<CommandMessage<?>> commandHandler)
FixtureConfigurationcommandHandler to handle commands of the given commandType with the
 command bus used by this fixture.registerCommandHandler in interface FixtureConfiguration<T>commandName - The name of the command to register the handler forcommandHandler - The handler to registerpublic FixtureConfiguration<T> registerInjectableResource(Object resource)
FixtureConfiguration@CommandHandler, @EventSourcingHandler and @EventHandler. These resource must be
 registered before registering any command handler.registerInjectableResource in interface FixtureConfiguration<T>resource - The resource eligible for injectionpublic FixtureConfiguration<T> registerCommandDispatchInterceptor(MessageDispatchInterceptor<CommandMessage<?>> commandDispatchInterceptor)
FixtureConfigurationMetaData or throwing an exception based on the command.registerCommandDispatchInterceptor in interface FixtureConfiguration<T>commandDispatchInterceptor - the command dispatch interceptor to be added to the commandbuspublic FixtureConfiguration<T> registerCommandHandlerInterceptor(MessageHandlerInterceptor<CommandMessage<?>> commandHanderInterceptor)
FixtureConfigurationregisterCommandHandlerInterceptor in interface FixtureConfiguration<T>commandHanderInterceptor - the command handler interceptor to be added to the commandbuspublic FixtureConfiguration<T> registerFieldFilter(FieldFilter fieldFilter)
FixtureConfigurationfieldFilter, 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.registerFieldFilter in interface FixtureConfiguration<T>fieldFilter - The FieldFilter that defines which fields to include in the comparisonpublic FixtureConfiguration<T> registerIgnoredField(Class<?> declaringClass, String fieldName)
FixtureConfigurationfieldName, which is declared in given declaringClass
 is ignored when performing deep equality checks.registerIgnoredField in interface FixtureConfiguration<T>declaringClass - The class declaring the fieldfieldName - The name of the fieldpublic TestExecutor given(Object... domainEvents)
FixtureConfigurationdomainEvents as the "given" events. These are the events returned by the event
 store when an aggregate is loaded.
 
 If an item in the given domainEvents implements Message, the
 payload and meta data from that message are copied into a newly created Domain Event Message. Otherwise, a
 Domain Event Message with the item as payload and empty meta data is created.given in interface FixtureConfiguration<T>domainEvents - the domain events the event store should returnpublic TestExecutor andGiven(Object... domainEvents)
TestExecutordomainEvents as the "given" events. These are the events returned by the event
 store when an aggregate is loaded.
 
 If an item in the given domainEvents implements Message, the
 payload and meta data from that message are copied into a newly created Domain Event Message. Otherwise, a
 Domain Event Message with the item as payload and empty meta data is created.andGiven in interface TestExecutordomainEvents - the domain events the event store should returnpublic TestExecutor givenNoPriorActivity()
FixtureConfigurationFixtureConfiguration.given(java.util.List) method.givenNoPriorActivity in interface FixtureConfiguration<T>public TestExecutor given(List<?> domainEvents)
FixtureConfigurationdomainEvents as the "given" events. These are the events returned by the event
 store when an aggregate is loaded.
 
 If an item in the list implements Message, the payload and meta data from that
 message are copied into a newly created Domain Event Message. Otherwise, a Domain Event Message with the item
 as payload and empty meta data is created.given in interface FixtureConfiguration<T>domainEvents - the domain events the event store should returnpublic TestExecutor andGiven(List<?> domainEvents)
TestExecutordomainEvents as the "given" events. These are the events returned by the event
 store when an aggregate is loaded.
 
 If an item in the list implements Message, the payload and meta data from that
 message are copied into a newly created Domain Event Message. Otherwise, a Domain Event Message with the item
 as payload and empty meta data is created.andGiven in interface TestExecutordomainEvents - the domain events the event store should returnpublic TestExecutor givenCommands(Object... commands)
FixtureConfigurationcommands as the command that will provide the "given" events. The commands are
 executed, and the resulting stored events are captured.givenCommands in interface FixtureConfiguration<T>commands - the domain events the event store should returnpublic TestExecutor andGivenCommands(Object... commands)
TestExecutorcommands as the command that will provide the "given" events. The commands are
 executed, and the resulting stored events are captured.andGivenCommands in interface TestExecutorcommands - the domain events the event store should returnpublic TestExecutor givenCommands(List<?> commands)
FixtureConfigurationcommands as the command that will provide the "given" events. The commands are
 executed, and the resulting stored events are captured.givenCommands in interface FixtureConfiguration<T>commands - the domain events the event store should returnpublic TestExecutor andGivenCommands(List<?> commands)
TestExecutorcommands as the command that will provide the "given" events. The commands are
 executed, and the resulting stored events are captured.andGivenCommands in interface TestExecutorcommands - the domain events the event store should returnpublic ResultValidator when(Object command)
TestExecutorcommand is a CommandMessage instance, it will be dispatched as-is. Any other object will
 cause the given command to be wrapped in a CommandMessage as its payload.when in interface TestExecutorcommand - The command to executepublic ResultValidator when(Object command, Map<String,?> metaData)
TestExecutorcommand is a CommandMessage instance, it will be dispatched as-is, with given
 additional metaData. Any other object will cause the given command to be wrapped in a
 CommandMessage as its payload.when in interface TestExecutorcommand - The command to executemetaData - The meta data to attach to thepublic void setReportIllegalStateChange(boolean reportIllegalStateChange)
FixtureConfigurationsetReportIllegalStateChange in interface FixtureConfiguration<T>reportIllegalStateChange - whether or not to detect and report state changes outside of Event Handler
                                 methods.public CommandBus getCommandBus()
FixtureConfigurationgetCommandBus in interface FixtureConfiguration<T>public EventBus getEventBus()
FixtureConfigurationResultValidator operations.getEventBus in interface FixtureConfiguration<T>public EventStore getEventStore()
FixtureConfigurationgetEventStore in interface FixtureConfiguration<T>public Repository<T> getRepository()
FixtureConfigurationgetRepository in interface FixtureConfiguration<T>Copyright © 2010–2018. All rights reserved.