use of io.spine.core.Event in project core-java by SpineEventEngine.
the class MatchesStreamQueryShould method not_match_improper_records.
@Test
public void not_match_improper_records() {
final ProjectId properField = ProjectId.newBuilder().setId(newUuid()).build();
final ProjectId improperField = ProjectId.getDefaultInstance();
final ProjectCreated eventMsg = ProjectCreated.newBuilder().setProjectId(improperField).build();
final Event event = eventFactory.createEvent(eventMsg);
final MatchesStreamQuery predicate = eventWith(FIELD_NAME, properField);
assertFalse(predicate.apply(event));
}
use of io.spine.core.Event in project core-java by SpineEventEngine.
the class MatchesStreamQueryShould method match_proper_records.
@Test
public void match_proper_records() {
final ProjectId properField = ProjectId.newBuilder().setId(newUuid()).build();
final ProjectCreated eventMsg = ProjectCreated.newBuilder().setProjectId(properField).build();
final Event event = eventFactory.createEvent(eventMsg);
final MatchesStreamQuery predicate = eventWith(FIELD_NAME, properField);
assertTrue(predicate.apply(event));
}
use of io.spine.core.Event in project core-java by SpineEventEngine.
the class EventBusTestEnv method readEvents.
/**
* Reads all events from the event bus event store for a tenant specified by
* the {@link EventBusTestEnv#TENANT_ID}.
*/
public static List<Event> readEvents(final EventBus eventBus) {
final MemoizingObserver<Event> observer = memoizingObserver();
final TenantAwareOperation operation = new TenantAwareOperation(TENANT_ID) {
@Override
public void run() {
eventBus.getEventStore().read(allEventsQuery(), observer);
}
};
operation.execute();
final List<Event> results = observer.responses();
return results;
}
use of io.spine.core.Event in project core-java by SpineEventEngine.
the class IntegrationBusShould method dispatch_events_from_one_BC_to_two_BCs_with_different_needs.
// variables declared for readability.
@SuppressWarnings("unused")
@Test
public void dispatch_events_from_one_BC_to_two_BCs_with_different_needs() {
final InMemoryTransportFactory transportFactory = InMemoryTransportFactory.newInstance();
final BoundedContext sourceContext = contextWithTransport(transportFactory);
final BoundedContext destA = contextWithProjectCreatedNeeds(transportFactory);
final BoundedContext destB = contextWithProjectStartedNeeds(transportFactory);
assertNull(ProjectStartedExtSubscriber.getExternalEvent());
assertNull(ProjectEventsSubscriber.getExternalEvent());
final EventBus sourceEventBus = sourceContext.getEventBus();
final Event eventA = projectCreated();
sourceEventBus.post(eventA);
final Event eventB = projectStarted();
sourceEventBus.post(eventB);
assertEquals(AnyPacker.unpack(eventA.getMessage()), ProjectEventsSubscriber.getExternalEvent());
assertEquals(AnyPacker.unpack(eventB.getMessage()), ProjectStartedExtSubscriber.getExternalEvent());
}
use of io.spine.core.Event in project core-java by SpineEventEngine.
the class IntegrationBusShould method dispatch_events_from_one_BC_to_entities_with_ext_subscribers_of_another_BC.
@Test
public void dispatch_events_from_one_BC_to_entities_with_ext_subscribers_of_another_BC() {
final InMemoryTransportFactory transportFactory = InMemoryTransportFactory.newInstance();
final BoundedContext sourceContext = contextWithTransport(transportFactory);
contextWithExtEntitySubscribers(transportFactory);
assertNull(ProjectDetails.getExternalEvent());
assertNull(ProjectWizard.getExternalEvent());
assertNull(ProjectCountAggregate.getExternalEvent());
final Event event = projectCreated();
sourceContext.getEventBus().post(event);
final Message expectedMessage = AnyPacker.unpack(event.getMessage());
assertEquals(expectedMessage, ProjectDetails.getExternalEvent());
assertEquals(expectedMessage, ProjectWizard.getExternalEvent());
assertEquals(expectedMessage, ProjectCountAggregate.getExternalEvent());
}
Aggregations