org.axonframework.test
Interface ResultValidator


public interface ResultValidator

Interface describing the operations available on the "validate result" (a.k.a. "then") stage of the test execution. The underlying fixture expects a test to have been executed succesfully using a TestExecutor.

There are several things to validate:

Since:
0.6
Author:
Allard Buijze

Method Summary
 ResultValidator expectEvents(DomainEvent... expectedEvents)
          Expect the given set of events to have been stored and published.
 ResultValidator expectException(Class<? extends Throwable> expectedException)
          Expect the given expectedException to occur during command handler execution.
 ResultValidator expectPublishedEvents(Event... expectedEvents)
          Expect the given set of events to have been published on the events bus.
 ResultValidator expectReturnValue(Object expectedReturnValue)
          Expect the command handler to return the given expectedReturnValue after execution.
 ResultValidator expectStoredEvents(DomainEvent... expectedEvents)
          Expect the given set of events to have been stored in the event store.
 ResultValidator expectVoidReturnType()
          Explicitly expect a void return type on the given command handler.
 

Method Detail

expectEvents

ResultValidator expectEvents(DomainEvent... expectedEvents)
Expect the given set of events to have been stored and published. Note that this assertion will fail if events were published but not saved. IF you expect events (e.g. Application Events) to have been dispathed, use the expectPublishedEvents(org.axonframework.domain.Event...) and expectStoredEvents(org.axonframework.domain.DomainEvent...) methods instead.

All events are compared for equality using a shallow equals comparison on all the fields of the events. This means that all assigned values on the events' fields should have a proper equals implementation.

Note that the event identifier is ignored in the comparison.

Parameters:
expectedEvents - The expected events, in the exact order they are expected to be dispatched and stored.
Returns:
the current ResultValidator, for fluent interfacing

expectPublishedEvents

ResultValidator expectPublishedEvents(Event... expectedEvents)
Expect the given set of events to have been published on the events bus. If you expect the same events to be stored, too, consider using the expectEvents(org.axonframework.domain.DomainEvent...) instead.

All events are compared for equality using a shallow equals comparison on all the fields of the events. This means that all assigned values on the events' fields should have a proper equals implementation.

Note that the event identifier is ignored in the comparison. For Application and System events, however, the source of the events must be equal, too.

Parameters:
expectedEvents - The expected events, in the exact order they are expected to be dispatched.
Returns:
the current ResultValidator, for fluent interfacing

expectStoredEvents

ResultValidator expectStoredEvents(DomainEvent... expectedEvents)
Expect the given set of events to have been stored in the event store. If you expect the same events to be published, too, consider using the expectEvents(org.axonframework.domain.DomainEvent...) instead.

All events are compared for equality using a shallow equals comparison on all the fields of the events. This means that all assigned values on the events' fields should have a proper equals implementation.

Note that the event identifier is ignored in the comparison. For Application and System events, however, the source of the events must be equal, too.

Parameters:
expectedEvents - The expected events, in the exact order they are expected to be stored.
Returns:
the current ResultValidator, for fluent interfacing

expectReturnValue

ResultValidator expectReturnValue(Object expectedReturnValue)
Expect the command handler to return the given expectedReturnValue after execution. The actual and expected values are compared using their equals methods.

Parameters:
expectedReturnValue - The expected return value of the command execution
Returns:
the current ResultValidator, for fluent interfacing

expectException

ResultValidator expectException(Class<? extends Throwable> expectedException)
Expect the given expectedException to occur during command handler execution. The actual exception should be exactly of that type, subclasses are not accepted.

Parameters:
expectedException - The type of exception expected from the command handler execution
Returns:
the current ResultValidator, for fluent interfacing

expectVoidReturnType

ResultValidator expectVoidReturnType()
Explicitly expect a void return type on the given command handler. void is the recommended return value for all command handlers as they allow for a more scalable architecture.

Returns:
the current ResultValidator, for fluent interfacing


Copyright © 2010. All Rights Reserved.