Package akka.javasdk.testkit
Class EventSourcedTestKit<S,E,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S,E>>
Object
akka.javasdk.testkit.impl.EventSourcedEntityEffectsRunner<S,E>
akka.javasdk.testkit.EventSourcedTestKit<S,E,ES>
public class EventSourcedTestKit<S,E,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S,E>>
extends EventSourcedEntityEffectsRunner<S,E>
EventSourced Testkit for use in unit tests for EventSourced entities.
To test a EventSourced create a testkit instance by calling one of the available
EventSourcedTestKit.of
methods. The returned testkit is stateful, and it holds internally the
state of the entity.
Use the call
methods to interact with the testkit.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescription<R> EventSourcedResult
<R> The call method can be used to simulate a call to the EventSourcedEntity.<R> EventSourcedResult
<R> call
(Function<ES, akka.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func, akka.javasdk.Metadata metadata) The call method can be used to simulate a call to the EventSourcedEntity.protected final S
handleEvent
(S state, E event) static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> of
(String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory) Creates a new testkit instance from a user defined entity id and a function EventSourcedEntityContext to EventSourcedEntity.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> Creates a new testkit instance from a user defined entity id and an EventSourcedEntity Supplier.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> Creates a new testkit instance from a function EventSourcedEntityContext to EventSourcedEntity.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> Creates a new testkit instance from a EventSourcedEntity Supplier.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityFromEvents
(String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a user defined entity id, a factory function for EventSourcedEntity, and events from which to derive a state for the generated entity for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityFromEvents
(String entityId, Supplier<ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a user defined entity id, a Supplier of EventSourcedEntity, and events from which to derive a state for the generated entity for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityFromEvents
(Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a factory function for EventSourcedEntity and events from which to derive a state for the generated entity for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityFromEvents
(Supplier<ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a Supplier of EventSourcedEntity and events from which to derive a state for the generated entity.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityWithState
(String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, S initialState) Creates a new testkit instance from a user defined entity id, a factory function for EventSourcedEntity, and a state into which the built entity will be placed for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityWithState
(String entityId, Supplier<ES> entityFactory, S initialState) Creates a new testkit instance from a user defined entity id, a Supplier of EventSourcedEntity, and a state into which the supplied entity will be placed for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityWithState
(Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, S initialState) Creates a new testkit instance from a factory function for EventSourcedEntity and a state into which the built entity will be placed for tests.static <S,
E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S, E, ES> ofEntityWithState
(Supplier<ES> entityFactory, S initialState) Creates a new testkit instance from a Supplier of EventSourcedEntity and a state.Methods inherited from class akka.javasdk.testkit.impl.EventSourcedEntityEffectsRunner
entity, getAllEvents, getState, interpretEffects, isDeleted
-
Field Details
-
DEFAULT_TEST_ENTITY_ID
- See Also:
-
-
Method Details
-
of
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (Supplier<ES> entityFactory) Creates a new testkit instance from a EventSourcedEntity Supplier.A default test entity id will be automatically provided.
-
ofEntityWithState
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityWithStateES> (Supplier<ES> entityFactory, S initialState) Creates a new testkit instance from a Supplier of EventSourcedEntity and a state.A default test entity id will be automatically provided.
-
ofEntityFromEvents
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityFromEventsES> (Supplier<ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a Supplier of EventSourcedEntity and events from which to derive a state for the generated entity.A default test entity id will be automatically provided.
-
of
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory) Creates a new testkit instance from a function EventSourcedEntityContext to EventSourcedEntity.A default test entity id will be automatically provided.
-
ofEntityWithState
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityWithStateES> (Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, S initialState) Creates a new testkit instance from a factory function for EventSourcedEntity and a state into which the built entity will be placed for tests.A default test entity id will be automatically provided.
-
ofEntityFromEvents
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityFromEventsES> (Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a factory function for EventSourcedEntity and events from which to derive a state for the generated entity for tests.A default test entity id will be automatically provided.
-
of
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (String entityId, Supplier<ES> entityFactory) Creates a new testkit instance from a user defined entity id and an EventSourcedEntity Supplier. -
ofEntityWithState
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityWithStateES> (String entityId, Supplier<ES> entityFactory, S initialState) Creates a new testkit instance from a user defined entity id, a Supplier of EventSourcedEntity, and a state into which the supplied entity will be placed for tests. -
ofEntityFromEvents
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityFromEventsES> (String entityId, Supplier<ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a user defined entity id, a Supplier of EventSourcedEntity, and events from which to derive a state for the generated entity for tests. -
of
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory) Creates a new testkit instance from a user defined entity id and a function EventSourcedEntityContext to EventSourcedEntity. -
ofEntityWithState
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityWithStateES> (String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, S initialState) Creates a new testkit instance from a user defined entity id, a factory function for EventSourcedEntity, and a state into which the built entity will be placed for tests. -
ofEntityFromEvents
public static <S,E, EventSourcedTestKit<S,ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofEntityFromEventsES> (String entityId, Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory, List<E> initialEvents) Creates a new testkit instance from a user defined entity id, a factory function for EventSourcedEntity, and events from which to derive a state for the generated entity for tests. -
call
public <R> EventSourcedResult<R> call(Function<ES, akka.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func) The call method can be used to simulate a call to the EventSourcedEntity. The passed java lambda should return an EventSourcedEntity.Effect. The Effect is interpreted into an EventSourcedResult that can be used in test assertions.- Type Parameters:
R
- The type of reply that is expected from invoking a command handler- Parameters:
func
- A function from EventSourcedEntity to EventSourcedEntity.Effect.- Returns:
- a EventSourcedResult
-
call
public <R> EventSourcedResult<R> call(Function<ES, akka.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func, akka.javasdk.Metadata metadata) The call method can be used to simulate a call to the EventSourcedEntity. The passed java lambda should return an EventSourcedEntity.Effect. The Effect is interpreted into an EventSourcedResult that can be used in test assertions.- Type Parameters:
R
- The type of reply that is expected from invoking a command handler- Parameters:
func
- A function from EventSourcedEntity to EventSourcedEntity.Effect.metadata
- A metadata passed as a call context.- Returns:
- a EventSourcedResult
-
handleEvent
- Specified by:
handleEvent
in classEventSourcedEntityEffectsRunner<S,
E> - Returns:
- The current state of the entity after applying the event
-