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
    Modifier and Type
    Field
    Description
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    call(Function<ES,akka.javasdk.eventsourcedentity.EventSourcedEntity.Effect<R>> func)
    The call method can be used to simulate a call to the EventSourcedEntity.
    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>
    of(String entityId, Supplier<ES> entityFactory)
    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>
    of(Function<akka.javasdk.eventsourcedentity.EventSourcedEntityContext,ES> entityFactory)
    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>
    of(Supplier<ES> entityFactory)
    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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • of

      public static <S, E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> EventSourcedTestKit<S,E,ES> of(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, 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.

      A default test entity id will be automatically provided.

    • ofEntityFromEvents

      public 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.

      A default test entity id will be automatically provided.

    • of

      public static <S, E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> EventSourcedTestKit<S,E,ES> of(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, 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.

      A default test entity id will be automatically provided.

    • ofEntityFromEvents

      public 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.

      A default test entity id will be automatically provided.

    • of

      public static <S, E, ES extends akka.javasdk.eventsourcedentity.EventSourcedEntity<S, E>> EventSourcedTestKit<S,E,ES> of(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, 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.
    • ofEntityFromEvents

      public 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.
    • of

      public 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.
    • ofEntityWithState

      public 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.
    • ofEntityFromEvents

      public 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.
    • 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

      protected final S handleEvent(S state, E event)
      Specified by:
      handleEvent in class EventSourcedEntityEffectsRunner<S,E>
      Returns:
      The current state of the entity after applying the event