Search in sources :

Example 1 with GroupState

use of com.amazon.dataprepper.plugins.processor.aggregate.GroupState in project data-prepper by opensearch-project.

the class PutAllAggregateActionTest method handleEvent_with_non_empty_groupState_should_combine_Event_with_groupState_correctly.

@Test
void handleEvent_with_non_empty_groupState_should_combine_Event_with_groupState_correctly() {
    combineAggregateAction = createObjectUnderTest();
    final AggregateActionInput aggregateActionInput = new AggregateActionTestUtils.TestAggregateActionInput();
    final GroupState groupState = aggregateActionInput.getGroupState();
    groupState.putAll(events.get(0).toMap());
    final GroupState expectedGroupState = new AggregateActionTestUtils.TestGroupState();
    expectedGroupState.putAll(groupState);
    expectedGroupState.putAll(events.get(1).toMap());
    final AggregateActionResponse aggregateActionResponse = combineAggregateAction.handleEvent(events.get(1), aggregateActionInput);
    assertThat(aggregateActionResponse.getEvent(), equalTo(null));
    assertThat(groupState, equalTo(expectedGroupState));
}
Also used : AggregateActionInput(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput) AggregateActionResponse(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionResponse) GroupState(com.amazon.dataprepper.plugins.processor.aggregate.GroupState) Test(org.junit.jupiter.api.Test)

Example 2 with GroupState

use of com.amazon.dataprepper.plugins.processor.aggregate.GroupState in project data-prepper by opensearch-project.

the class PutAllAggregateActionTest method concludeGroup_should_return_groupState_As_An_Event_correctly.

@Test
void concludeGroup_should_return_groupState_As_An_Event_correctly() {
    combineAggregateAction = createObjectUnderTest();
    final AggregateActionInput aggregateActionInput = new AggregateActionTestUtils.TestAggregateActionInput();
    final GroupState groupState = aggregateActionInput.getGroupState();
    for (final Map<String, Object> eventMap : eventMaps) {
        groupState.putAll(eventMap);
    }
    final Optional<Event> result = combineAggregateAction.concludeGroup(aggregateActionInput);
    assertThat(result.isPresent(), equalTo(true));
    assertThat(result.get().getMetadata().getEventType(), equalTo(PutAllAggregateAction.EVENT_TYPE));
    assertThat(result.get().toMap(), equalTo(groupState));
}
Also used : AggregateActionInput(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput) Event(com.amazon.dataprepper.model.event.Event) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) GroupState(com.amazon.dataprepper.plugins.processor.aggregate.GroupState) Test(org.junit.jupiter.api.Test)

Example 3 with GroupState

use of com.amazon.dataprepper.plugins.processor.aggregate.GroupState in project data-prepper by opensearch-project.

the class RemoveDuplicatesAggregateActionTest method concludeGroup_with_non_empty_groupState_returns_empty_Optional.

@Test
void concludeGroup_with_non_empty_groupState_returns_empty_Optional() {
    removeDuplicatesAggregateAction = createObjectUnderTest();
    final AggregateActionInput aggregateActionInput = new AggregateActionTestUtils.TestAggregateActionInput();
    final GroupState groupState = aggregateActionInput.getGroupState();
    groupState.put(UUID.randomUUID().toString(), UUID.randomUUID().toString());
    final Optional<Event> result = removeDuplicatesAggregateAction.concludeGroup(aggregateActionInput);
    assertThat(result.isPresent(), equalTo(false));
}
Also used : AggregateActionInput(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput) Event(com.amazon.dataprepper.model.event.Event) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) GroupState(com.amazon.dataprepper.plugins.processor.aggregate.GroupState) Test(org.junit.jupiter.api.Test)

Example 4 with GroupState

use of com.amazon.dataprepper.plugins.processor.aggregate.GroupState in project data-prepper by opensearch-project.

the class PutAllAggregateAction method handleEvent.

@Override
public AggregateActionResponse handleEvent(final Event event, final AggregateActionInput aggregateActionInput) {
    final GroupState groupState = aggregateActionInput.getGroupState();
    groupState.putAll(event.toMap());
    return AggregateActionResponse.nullEventResponse();
}
Also used : GroupState(com.amazon.dataprepper.plugins.processor.aggregate.GroupState)

Example 5 with GroupState

use of com.amazon.dataprepper.plugins.processor.aggregate.GroupState in project data-prepper by opensearch-project.

the class RemoveDuplicatesAggregateActionTest method handleEvent_with_empty_groupState_returns_expected_AggregateResponse_and_modifies_groupState.

@Test
void handleEvent_with_empty_groupState_returns_expected_AggregateResponse_and_modifies_groupState() {
    removeDuplicatesAggregateAction = createObjectUnderTest();
    final AggregateActionInput aggregateActionInput = new AggregateActionTestUtils.TestAggregateActionInput();
    final GroupState groupState = aggregateActionInput.getGroupState();
    final AggregateActionResponse aggregateActionResponse = removeDuplicatesAggregateAction.handleEvent(testEvent, aggregateActionInput);
    assertThat(aggregateActionResponse.getEvent(), equalTo(testEvent));
    assertThat(groupState, equalTo(expectedGroupState));
}
Also used : AggregateActionInput(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput) AggregateActionResponse(com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionResponse) GroupState(com.amazon.dataprepper.plugins.processor.aggregate.GroupState) Test(org.junit.jupiter.api.Test)

Aggregations

GroupState (com.amazon.dataprepper.plugins.processor.aggregate.GroupState)6 AggregateActionInput (com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput)5 Test (org.junit.jupiter.api.Test)5 AggregateActionResponse (com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionResponse)3 Event (com.amazon.dataprepper.model.event.Event)2 JacksonEvent (com.amazon.dataprepper.model.event.JacksonEvent)2