use of io.spine.core.Command in project core-java by SpineEventEngine.
the class EventBusShould method store_an_event.
@Test
public void store_an_event() {
final Command command = command(createProject());
eventBus.register(new EBProjectCreatedNoOpSubscriber());
commandBus.post(command, StreamObservers.<Ack>noOpObserver());
final List<Event> events = readEvents(eventBus);
assertSize(1, events);
}
use of io.spine.core.Command in project core-java by SpineEventEngine.
the class EventBusShould method store_multiple_messages_passing_filters.
/**
* Ensures that events are stored when all of them pass the filters.
*
* <p> To filter the {@link EBTaskAdded} events the {@linkplain EventBus} has a custom filter.
* The {@link TaskCreatedFilter} filters out {@link EBTaskAdded} events with
* {@link Task#getDone()} set to {@code true}.
*
* <p> The {@link EBTaskAddedNoOpSubscriber} is registered so that the event would not get
* filtered out by the {@link io.spine.server.bus.DeadMessageFilter}.
*/
@Test
public void store_multiple_messages_passing_filters() {
eventBus.register(new EBTaskAddedNoOpSubscriber());
final Command command = command(addTasks(newTask(false), newTask(false), newTask(false)));
commandBus.post(command, StreamObservers.<Ack>noOpObserver());
final List<Event> storedEvents = readEvents(eventBus);
assertSize(3, storedEvents);
}
use of io.spine.core.Command in project core-java by SpineEventEngine.
the class EventBusShould method store_only_events_passing_filters.
/**
* Ensures that events which pass filters and the ones that don’t are treated independently when
* sent in batch.
*
* <p> To filter the {@link EBTaskAdded} events the {@linkplain EventBus} has a custom filter.
* The {@link TaskCreatedFilter} filters out {@link EBTaskAdded} events with
* {@link Task#getDone()} set to {@code true}.
*
* <p> The {@link EBTaskAddedNoOpSubscriber} is registered so that the event would not get
* filtered out by the {@link io.spine.server.bus.DeadMessageFilter}.
*/
@Test
public void store_only_events_passing_filters() {
eventBus.register(new EBTaskAddedNoOpSubscriber());
final Command command = command(addTasks(newTask(false), newTask(true), newTask(false), newTask(true), newTask(true)));
commandBus.post(command, StreamObservers.<Ack>noOpObserver());
final List<Event> storedEvents = readEvents(eventBus);
assertSize(2, storedEvents);
for (Event event : storedEvents) {
final EBTaskAdded contents = unpack(event.getMessage());
final Task task = contents.getTask();
assertFalse(task.getDone());
}
}
use of io.spine.core.Command in project core-java by SpineEventEngine.
the class EventBusShould method not_store_an_invalid_event.
@Test
public void not_store_an_invalid_event() {
final Command command = command(invalidArchiveProject());
eventBus.register(new EBProjectArchivedSubscriber());
commandBus.post(command, StreamObservers.<Ack>noOpObserver());
final List<Event> events = readEvents(eventBus);
assertSize(0, events);
}
use of io.spine.core.Command in project core-java by SpineEventEngine.
the class EventBusShould method store_a_dead_event.
@Test
public void store_a_dead_event() {
final Command command = command(createProject());
commandBus.post(command, StreamObservers.<Ack>noOpObserver());
final List<Event> events = readEvents(eventBus);
assertSize(1, events);
}
Aggregations