use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class StdInSourceTests method testStdInSourceSuccessfulWriteToBuffer.
@Test
public void testStdInSourceSuccessfulWriteToBuffer() {
final Queue<Record<Event>> bufferQueue = new LinkedList<>();
final TestBuffer buffer = new TestBuffer(bufferQueue, 1);
final StdInSource stdInSource = new StdInSource(TEST_WRITE_TIMEOUT, TEST_PIPELINE_NAME);
assertThat(buffer.size(), is(equalTo(0)));
stdInSource.start(buffer);
assertThat(buffer.size(), is(equalTo(1)));
final Map.Entry<Collection<Record<Event>>, CheckpointState> readResult = buffer.read(TEST_WRITE_TIMEOUT);
final Collection<Record<Event>> recordsFromBuffer = readResult.getKey();
assertThat(recordsFromBuffer.size(), is(equalTo(1)));
recordsFromBuffer.forEach(actualRecord -> assertThat(actualRecord.getData().get("message", String.class), is(equalTo(READ_CONTENT))));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class AggregateActionSynchronizerTest method concludeGroup_with_tryLock_true_calls_expected_functions_and_returns_correct_event.
@Test
void concludeGroup_with_tryLock_true_calls_expected_functions_and_returns_correct_event() {
final AggregateActionSynchronizer objectUnderTest = createObjectUnderTest();
when(concludeGroupLock.tryLock()).thenReturn(true);
when(aggregateAction.concludeGroup(aggregateGroup)).thenReturn(Optional.of(event));
final Optional<Event> concludeGroupEvent = objectUnderTest.concludeGroup(identificationHash, aggregateGroup);
final InOrder inOrder = Mockito.inOrder(handleEventForGroupLock, aggregateAction, aggregateGroupManager, concludeGroupLock);
inOrder.verify(handleEventForGroupLock).lock();
inOrder.verify(aggregateAction).concludeGroup(aggregateGroup);
inOrder.verify(aggregateGroupManager).closeGroup(identificationHash, aggregateGroup);
inOrder.verify(handleEventForGroupLock).unlock();
inOrder.verify(concludeGroupLock).unlock();
assertThat(concludeGroupEvent.isPresent(), equalTo(true));
assertThat(concludeGroupEvent.get(), equalTo(event));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class AggregateActionSynchronizerTest method locks_are_unlocked_and_empty_optional_returned_when_aggregateAction_concludeGroup_throws_exception.
@Test
void locks_are_unlocked_and_empty_optional_returned_when_aggregateAction_concludeGroup_throws_exception() {
final AggregateActionSynchronizer objectUnderTest = createObjectUnderTest();
when(concludeGroupLock.tryLock()).thenReturn(true);
when(aggregateAction.concludeGroup(aggregateGroup)).thenThrow(RuntimeException.class);
final Optional<Event> concludeGroupEvent = objectUnderTest.concludeGroup(identificationHash, aggregateGroup);
final InOrder inOrder = Mockito.inOrder(handleEventForGroupLock, aggregateAction, concludeGroupLock, actionConcludeGroupEventsProcessingErrors);
inOrder.verify(handleEventForGroupLock).lock();
inOrder.verify(aggregateAction).concludeGroup(aggregateGroup);
inOrder.verify(actionConcludeGroupEventsProcessingErrors).increment();
inOrder.verify(handleEventForGroupLock).unlock();
inOrder.verify(concludeGroupLock).unlock();
assertThat(concludeGroupEvent, equalTo(Optional.empty()));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class AggregateIdentificationKeysHasherTest method different_identification_hashes_are_not_considered_equal.
@Test
void different_identification_hashes_are_not_considered_equal() {
aggregateIdentificationKeysHasher = createObjectUnderTest();
final Map<Object, Object> eventMap = new HashMap<>();
eventMap.put("firstIdentificationKey", UUID.randomUUID().toString());
eventMap.put("secondIdentificationKey", UUID.randomUUID().toString());
eventMap.put(UUID.randomUUID().toString(), UUID.randomUUID().toString());
final Map<Object, Object> secondEventMap = new HashMap<>(eventMap);
secondEventMap.remove("firstIdentificationKey");
event = JacksonEvent.builder().withEventType("event").withData(eventMap).build();
final Event secondEvent = JacksonEvent.builder().withEventType("event").withData(secondEventMap).build();
final AggregateIdentificationKeysHasher.IdentificationHash result = aggregateIdentificationKeysHasher.createIdentificationKeyHashFromEvent(event);
final AggregateIdentificationKeysHasher.IdentificationHash secondResult = aggregateIdentificationKeysHasher.createIdentificationKeyHashFromEvent(secondEvent);
assertThat(result, is(not(equalTo(secondResult))));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class AggregateProcessorIT method getBatchOfEvents.
private List<Record<Event>> getBatchOfEvents() {
final List<Record<Event>> events = new ArrayList<>();
for (int i = 0; i < NUM_EVENTS_PER_BATCH; i++) {
final Map<String, Object> eventMap = getEventMap(i % NUM_UNIQUE_EVENTS_PER_BATCH);
final Event event = JacksonEvent.builder().withEventType("event").withData(eventMap).build();
uniqueEventMaps.add(eventMap);
events.add(new Record<>(event));
}
return events;
}
Aggregations