org.axonframework.test.saga
Interface FixtureExecutionResult

All Known Implementing Classes:
FixtureExecutionResultImpl

public interface FixtureExecutionResult

Interface towards an object that contains the results of a Fixture execution. It provides methods to assert that certain actions have taken place.

Since:
1.1
Author:
Allard Buijze

Method Summary
 FixtureExecutionResult expectActiveSagas(int expected)
          Expect the given number of Sagas to be active (i.e.
 FixtureExecutionResult expectAssociationWith(String associationKey, Object associationValue)
          Asserts that at least one of the active sagas is associated with the given associationKey and associationValue.
 FixtureExecutionResult expectDispatchedCommandsEqualTo(Object... commands)
          Asserts that the given commands have been dispatched in exactly the order given.
 FixtureExecutionResult expectDispatchedCommandsMatching(org.hamcrest.Matcher<? extends Iterable<?>> matcher)
          Asserts that the sagas dispatched commands as defined by the given matcher.
 FixtureExecutionResult expectNoAssociationWith(String associationKey, Object associationValue)
          Asserts that at none of the active sagas is associated with the given associationKey and associationValue.
 FixtureExecutionResult expectNoDispatchedCommands()
          Asserts that the sagas did not dispatch any commands.
 FixtureExecutionResult expectNoScheduledEvents()
          Assert that no events are scheduled for publication.
 FixtureExecutionResult expectPublishedEvents(Object... expected)
          Assert that the saga published events on the EventBus in the exact sequence of the given expected events.
 FixtureExecutionResult expectPublishedEventsMatching(org.hamcrest.Matcher<? extends Iterable<?>> matcher)
          Assert that the saga published events on the EventBus as defined by the given matcher.
 FixtureExecutionResult expectScheduledEvent(org.joda.time.DateTime scheduledTime, Object event)
          Asserts that an event equal to the given ApplicationEvent has been scheduled for publication at the given scheduledTime.
 FixtureExecutionResult expectScheduledEvent(org.joda.time.Duration duration, Object event)
          Asserts that an event equal to the given ApplicationEvent has been scheduled for publication after the given duration.
 FixtureExecutionResult expectScheduledEventMatching(org.joda.time.DateTime scheduledTime, org.hamcrest.Matcher<?> matcher)
          Asserts that an event matching the given matcher has been scheduled to be published at the given scheduledTime.
 FixtureExecutionResult expectScheduledEventMatching(org.joda.time.Duration duration, org.hamcrest.Matcher<?> matcher)
          Asserts that an event matching the given matcher has been scheduled to be published after the given duration.
 FixtureExecutionResult expectScheduledEventOfType(org.joda.time.DateTime scheduledTime, Class<?> eventType)
          Asserts that an event of the given eventType has been scheduled for publication at the given scheduledTime.
 FixtureExecutionResult expectScheduledEventOfType(org.joda.time.Duration duration, Class<?> eventType)
          Asserts that an event of the given eventType has been scheduled for publication after the given duration.
 

Method Detail

expectActiveSagas

FixtureExecutionResult expectActiveSagas(int expected)
Expect the given number of Sagas to be active (i.e. ready to respond to incoming events.

Parameters:
expected - the expected number of active events in the repository
Returns:
the FixtureExecutionResult for method chaining

expectAssociationWith

FixtureExecutionResult expectAssociationWith(String associationKey,
                                             Object associationValue)
Asserts that at least one of the active sagas is associated with the given associationKey and associationValue.

Parameters:
associationKey - The key of the association to verify
associationValue - The value of the association to verify
Returns:
the FixtureExecutionResult for method chaining

expectNoAssociationWith

FixtureExecutionResult expectNoAssociationWith(String associationKey,
                                               Object associationValue)
Asserts that at none of the active sagas is associated with the given associationKey and associationValue.

Parameters:
associationKey - The key of the association to verify
associationValue - The value of the association to verify
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEventMatching

FixtureExecutionResult expectScheduledEventMatching(org.joda.time.Duration duration,
                                                    org.hamcrest.Matcher<?> matcher)
Asserts that an event matching the given matcher has been scheduled to be published after the given duration.

Parameters:
duration - The time to wait before the event should be published
matcher - A matcher defining the event expected to be published
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEvent

FixtureExecutionResult expectScheduledEvent(org.joda.time.Duration duration,
                                            Object event)
Asserts that an event equal to the given ApplicationEvent has been scheduled for publication after the given duration.

Note that the source attribute of the application event is ignored when comparing events. Events are compared using an "equals" check on all fields in the events.

Parameters:
duration - The time to wait before the event should be published
event - The expected event
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEventOfType

FixtureExecutionResult expectScheduledEventOfType(org.joda.time.Duration duration,
                                                  Class<?> eventType)
Asserts that an event of the given eventType has been scheduled for publication after the given duration.

Parameters:
duration - The time to wait before the event should be published
eventType - The type of the expected event
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEventMatching

FixtureExecutionResult expectScheduledEventMatching(org.joda.time.DateTime scheduledTime,
                                                    org.hamcrest.Matcher<?> matcher)
Asserts that an event matching the given matcher has been scheduled to be published at the given scheduledTime.

If the scheduledTime is calculated based on the "current time", use the FixtureConfiguration.currentTime() to get the time to use as "current time".

Parameters:
scheduledTime - The time at which the event should be published
matcher - A matcher defining the event expected to be published
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEvent

FixtureExecutionResult expectScheduledEvent(org.joda.time.DateTime scheduledTime,
                                            Object event)
Asserts that an event equal to the given ApplicationEvent has been scheduled for publication at the given scheduledTime.

If the scheduledTime is calculated based on the "current time", use the FixtureConfiguration.currentTime() to get the time to use as "current time".

Note that the source attribute of the application event is ignored when comparing events. Events are compared using an "equals" check on all fields in the events.

Parameters:
scheduledTime - The time at which the event should be published
event - The expected event
Returns:
the FixtureExecutionResult for method chaining

expectScheduledEventOfType

FixtureExecutionResult expectScheduledEventOfType(org.joda.time.DateTime scheduledTime,
                                                  Class<?> eventType)
Asserts that an event of the given eventType has been scheduled for publication at the given scheduledTime.

If the scheduledTime is calculated based on the "current time", use the FixtureConfiguration.currentTime() to get the time to use as "current time".

Parameters:
scheduledTime - The time at which the event should be published
eventType - The type of the expected event
Returns:
the FixtureExecutionResult for method chaining

expectDispatchedCommandsEqualTo

FixtureExecutionResult expectDispatchedCommandsEqualTo(Object... commands)
Asserts that the given commands have been dispatched in exactly the order given. The command objects are compared using the equals method. Only commands as a result of the event in the "when" stage of the fixture are compared.

Parameters:
commands - The expected commands
Returns:
the FixtureExecutionResult for method chaining

expectDispatchedCommandsMatching

FixtureExecutionResult expectDispatchedCommandsMatching(org.hamcrest.Matcher<? extends Iterable<?>> matcher)
Asserts that the sagas dispatched commands as defined by the given matcher. Only commands as a result of the event in the "when" stage of the fixture are matched.

Parameters:
matcher - The matcher that describes the expected list of commands
Returns:
the FixtureExecutionResult for method chaining

expectNoDispatchedCommands

FixtureExecutionResult expectNoDispatchedCommands()
Asserts that the sagas did not dispatch any commands. Only commands as a result of the event in the "when" stage of ths fixture are recorded.

Returns:
the FixtureExecutionResult for method chaining

expectNoScheduledEvents

FixtureExecutionResult expectNoScheduledEvents()
Assert that no events are scheduled for publication. This means that either no events were scheduled at all, all schedules have been cancelled or all scheduled events have been published already.

Returns:
the FixtureExecutionResult for method chaining

expectPublishedEventsMatching

FixtureExecutionResult expectPublishedEventsMatching(org.hamcrest.Matcher<? extends Iterable<?>> matcher)
Assert that the saga published events on the EventBus as defined by the given matcher. Only events published in the "when" stage of the tests are matched.

Parameters:
matcher - The matcher that defines the expected list of published events.
Returns:
the FixtureExecutionResult for method chaining

expectPublishedEvents

FixtureExecutionResult expectPublishedEvents(Object... expected)
Assert that the saga published events on the EventBus in the exact sequence of the given expected events. Events are compared comparing their type and fields using equals. Sequence number, aggregate identifier (for domain events) and source (for application events) are ignored in the comparison.

Parameters:
expected - The sequence of events expected to be published by the Saga
Returns:
the FixtureExecutionResult for method chaining


Copyright © 2010-2016. All Rights Reserved.