use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class AggregateActionSynchronizerTest method conclude_group_with_should_conclude_group_false_returns_empty_optional.
@Test
void conclude_group_with_should_conclude_group_false_returns_empty_optional() {
final AggregateActionSynchronizer objectUnderTest = createObjectUnderTest();
when(concludeGroupLock.tryLock()).thenReturn(true);
when(aggregateGroup.shouldConcludeGroup(any(Duration.class))).thenReturn(false);
final Optional<Event> concludeGroupEvent = objectUnderTest.concludeGroup(identificationHash, aggregateGroup);
final InOrder inOrder = Mockito.inOrder(concludeGroupLock, handleEventForGroupLock, aggregateGroup, aggregateGroupManager);
inOrder.verify(concludeGroupLock).tryLock();
inOrder.verify(handleEventForGroupLock).lock();
inOrder.verify(aggregateGroup).shouldConcludeGroup(any(Duration.class));
inOrder.verify(aggregateGroupManager, times(0)).getGroupDuration();
inOrder.verify(handleEventForGroupLock).unlock();
inOrder.verify(concludeGroupLock).unlock();
verifyNoInteractions(aggregateAction);
assertThat(concludeGroupEvent, equalTo(Optional.empty()));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class S3ObjectWorkerTest method parseS3Object_calls_Codec_parse_with_Consumer_that_adds_to_BufferAccumulator.
@Test
void parseS3Object_calls_Codec_parse_with_Consumer_that_adds_to_BufferAccumulator() throws Exception {
final ResponseInputStream<GetObjectResponse> objectInputStream = mock(ResponseInputStream.class);
when(s3Client.getObject(any(GetObjectRequest.class))).thenReturn(objectInputStream);
final BufferAccumulator bufferAccumulator = mock(BufferAccumulator.class);
try (final MockedStatic<BufferAccumulator> bufferAccumulatorMockedStatic = mockStatic(BufferAccumulator.class)) {
bufferAccumulatorMockedStatic.when(() -> BufferAccumulator.create(buffer, recordsToAccumulate, bufferTimeout)).thenReturn(bufferAccumulator);
createObjectUnderTest().parseS3Object(s3ObjectReference);
}
final ArgumentCaptor<Consumer<Record<Event>>> eventConsumerArgumentCaptor = ArgumentCaptor.forClass(Consumer.class);
verify(codec).parse(any(InputStream.class), eventConsumerArgumentCaptor.capture());
final Consumer<Record<Event>> consumerUnderTest = eventConsumerArgumentCaptor.getValue();
final Record record = mock(Record.class);
consumerUnderTest.accept(record);
verify(bufferAccumulator).add(record);
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class NewlineDelimitedCodecTest method parse_calls_Consumer_for_each_line.
@ParameterizedTest
@ValueSource(ints = { 0, 1, 2, 10, 50 })
void parse_calls_Consumer_for_each_line(int numberOfLines) throws IOException {
final List<String> linesList = generateLinesAsList(numberOfLines);
final InputStream inputStream = createInputStream(linesList);
List<Record<Event>> actualEvents = new ArrayList<>();
createObjectUnderTest().parse(inputStream, actualEvents::add);
assertThat(actualEvents.size(), equalTo(numberOfLines));
for (int i = 0; i < actualEvents.size(); i++) {
final Record<Event> record = actualEvents.get(i);
assertThat(record, notNullValue());
assertThat(record.getData(), notNullValue());
assertThat(record.getData().get("message", String.class), equalTo(linesList.get(i)));
}
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class NewlineDelimitedCodecTest method parse_calls_Consumer_for_each_line_after_skipping.
@ParameterizedTest
@ValueSource(ints = { 1, 2, 10, 50 })
void parse_calls_Consumer_for_each_line_after_skipping(int numberOfLines) throws IOException {
final List<String> linesList = generateLinesAsList(numberOfLines);
final InputStream inputStream = createInputStream(linesList);
final int skipLines = 1;
when(config.getSkipLines()).thenReturn(skipLines);
final List<Record<Event>> actualEvents = new ArrayList<>();
createObjectUnderTest().parse(inputStream, actualEvents::add);
assertThat(actualEvents.size(), equalTo(numberOfLines - skipLines));
for (int i = 0; i < actualEvents.size(); i++) {
final Record<Event> record = actualEvents.get(i);
assertThat(record, notNullValue());
assertThat(record.getData(), notNullValue());
assertThat(record.getData().get("message", String.class), equalTo(linesList.get(i + skipLines)));
}
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class NewlineDelimitedCodec method parseBufferedReader.
private void parseBufferedReader(final BufferedReader reader, final Consumer<Record<Event>> eventConsumer) throws IOException {
int linesToSkip = skipLines;
String line;
while ((line = reader.readLine()) != null) {
if (linesToSkip > 0) {
linesToSkip--;
continue;
}
final Event event = JacksonEvent.fromMessage(line);
eventConsumer.accept(new Record<>(event));
}
}
Aggregations