Package kalix.javasdk.testkit
Class EventSourcedTestKit<S,E,ES extends kalix.javasdk.eventsourcedentity.EventSourcedEntity<S,E>>
Object
kalix.javasdk.testkit.impl.EventSourcedEntityEffectsRunner<S,E>
kalix.javasdk.testkit.EventSourcedTestKit<S,E,ES>
public class EventSourcedTestKit<S,E,ES extends kalix.javasdk.eventsourcedentity.EventSourcedEntity<S,E>>
extends kalix.javasdk.testkit.impl.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.
-
Method Summary
Modifier and TypeMethodDescription<R> kalix.javasdk.testkit.EventSourcedResult<R>
The call method can be used to simulate a call to the EventSourcedEntity.<R> kalix.javasdk.testkit.EventSourcedResult<R>
call
(Function<ES, kalix.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func, kalix.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 kalix.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S,E, ES> of
(String entityId, Function<kalix.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 kalix.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 kalix.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 kalix.javasdk.eventsourcedentity.EventSourcedEntity<S, E>>
EventSourcedTestKit<S,E, ES> Creates a new testkit instance from a EventSourcedEntity Supplier.Methods inherited from class kalix.javasdk.testkit.impl.EventSourcedEntityEffectsRunner
getAllEvents, getState, interpretEffects
-
Method Details
-
of
public static <S,E, EventSourcedTestKit<S,ES extends kalix.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.
-
of
public static <S,E, EventSourcedTestKit<S,ES extends kalix.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (Function<kalix.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.
-
of
public static <S,E, EventSourcedTestKit<S,ES extends kalix.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. -
of
public static <S,E, EventSourcedTestKit<S,ES extends kalix.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> E, ofES> (String entityId, Function<kalix.javasdk.eventsourcedentity.EventSourcedEntityContext, ES> entityFactory) Creates a new testkit instance from a user defined entity id and a function EventSourcedEntityContext to EventSourcedEntity. -
call
public <R> kalix.javasdk.testkit.EventSourcedResult<R> call(Function<ES, kalix.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> kalix.javasdk.testkit.EventSourcedResult<R> call(Function<ES, kalix.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func, kalix.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
-