Search in sources :

Example 76 with Event

use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.

the class RemoveDuplicatesAggregateActionTest method concludeGroup_with_empty_groupState_returns_empty_Optional.

@Test
void concludeGroup_with_empty_groupState_returns_empty_Optional() {
    removeDuplicatesAggregateAction = createObjectUnderTest();
    final AggregateActionInput aggregateActionInput = new AggregateActionTestUtils.TestAggregateActionInput();
    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) Test(org.junit.jupiter.api.Test)

Example 77 with Event

use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.

the class MetricsPluginSumTest method test.

@Test
public void test() throws JsonProcessingException {
    final KeyValue childAttr1 = KeyValue.newBuilder().setKey("statement").setValue(AnyValue.newBuilder().setIntValue(1_000).build()).build();
    final KeyValue childAttr2 = KeyValue.newBuilder().setKey("statement.params").setValue(AnyValue.newBuilder().setStringValue("us-east-1").build()).build();
    final KeyValue attribute1 = KeyValue.newBuilder().setKey("db.details").setValue(AnyValue.newBuilder().setKvlistValue(KeyValueList.newBuilder().addAllValues(Arrays.asList(childAttr1, childAttr2)).build()).build()).build();
    final KeyValue attribute2 = KeyValue.newBuilder().setKey("http.status").setValue(AnyValue.newBuilder().setStringValue("4xx").build()).build();
    final AnyValue anyValue1 = AnyValue.newBuilder().setStringValue("asdf").build();
    final AnyValue anyValue2 = AnyValue.newBuilder().setDoubleValue(2000.123).build();
    final AnyValue anyValue3 = AnyValue.newBuilder().setKvlistValue(KeyValueList.newBuilder().addAllValues(Arrays.asList(childAttr1, childAttr2))).build();
    final ArrayValue arrayValue = ArrayValue.newBuilder().addAllValues(Arrays.asList(anyValue1, anyValue2, anyValue3)).build();
    final KeyValue attribute3 = KeyValue.newBuilder().setKey("aws.details").setValue(AnyValue.newBuilder().setArrayValue(arrayValue)).build();
    NumberDataPoint dataPoint = NumberDataPoint.newBuilder().setAsInt(3).addAllAttributes(Arrays.asList(attribute1, attribute2, attribute3)).build();
    Sum sum = Sum.newBuilder().addAllDataPoints(Collections.singletonList(dataPoint)).build();
    Metric metric = Metric.newBuilder().setSum(sum).setUnit("seconds").setName("name").setDescription("description").build();
    InstrumentationLibraryMetrics instLib = InstrumentationLibraryMetrics.newBuilder().setInstrumentationLibrary(InstrumentationLibrary.newBuilder().setVersion("v1").setName("name").build()).addMetrics(metric).build();
    Resource resource = Resource.newBuilder().addAttributes(KeyValue.newBuilder().setKey("service.name").setValue(AnyValue.newBuilder().setStringValue("service").build())).build();
    ResourceMetrics resourceMetrics = ResourceMetrics.newBuilder().setResource(resource).addInstrumentationLibraryMetrics(instLib).build();
    ExportMetricsServiceRequest exportMetricRequest = ExportMetricsServiceRequest.newBuilder().addResourceMetrics(resourceMetrics).build();
    Record record = new Record<>(exportMetricRequest);
    List<Record<Event>> rec = (List<Record<Event>>) rawProcessor.doExecute(Arrays.asList(record));
    Record<Event> firstRecord = rec.get(0);
    ObjectMapper objectMapper = new ObjectMapper();
    Map map = objectMapper.readValue(firstRecord.getData().toJsonString(), Map.class);
    assertSumProcessing(map);
}
Also used : KeyValue(io.opentelemetry.proto.common.v1.KeyValue) Resource(io.opentelemetry.proto.resource.v1.Resource) Sum(io.opentelemetry.proto.metrics.v1.Sum) InstrumentationLibraryMetrics(io.opentelemetry.proto.metrics.v1.InstrumentationLibraryMetrics) ResourceMetrics(io.opentelemetry.proto.metrics.v1.ResourceMetrics) AnyValue(io.opentelemetry.proto.common.v1.AnyValue) NumberDataPoint(io.opentelemetry.proto.metrics.v1.NumberDataPoint) Event(com.amazon.dataprepper.model.event.Event) Metric(io.opentelemetry.proto.metrics.v1.Metric) Record(com.amazon.dataprepper.model.record.Record) KeyValueList(io.opentelemetry.proto.common.v1.KeyValueList) List(java.util.List) ArrayValue(io.opentelemetry.proto.common.v1.ArrayValue) Map(java.util.Map) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ExportMetricsServiceRequest(io.opentelemetry.proto.collector.metrics.v1.ExportMetricsServiceRequest) Test(org.junit.Test)

Example 78 with Event

use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.

the class ParseTreeEvaluatorListenerTest method testSimpleEqualityOperatorExpressionWithJsonPointerTypeExistingKey.

@Test
void testSimpleEqualityOperatorExpressionWithJsonPointerTypeExistingKey() {
    final String testKey = "testKey";
    final Integer testValue = random.nextInt(1000);
    final Map<String, Integer> data = Map.of(testKey, testValue);
    final Event testEvent = createTestEvent(data);
    final String equalStatement = String.format("/%s == %d", testKey, testValue);
    final String notEqualStatement = String.format("/%s != %d", testKey, testValue + 1);
    assertThat(evaluateStatementOnEvent(equalStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(notEqualStatement, testEvent), is(true));
}
Also used : Event(com.amazon.dataprepper.model.event.Event) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Test(org.junit.jupiter.api.Test)

Example 79 with Event

use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.

the class ParseTreeCoercionServiceTest method testCoerceTerminalNodeJsonPointerTypeMissingKey.

@Test
void testCoerceTerminalNodeJsonPointerTypeMissingKey() {
    final String testMissingKey = "missingKey";
    final String testJsonPointerKey = "/" + testMissingKey;
    final Event testEvent = createTestEvent(new HashMap<>());
    when(token.getType()).thenReturn(DataPrepperExpressionParser.JsonPointer);
    when(terminalNode.getSymbol()).thenReturn(token);
    when(terminalNode.getText()).thenReturn(testJsonPointerKey);
    final Object result = objectUnderTest.coercePrimaryTerminalNode(terminalNode, testEvent);
    assertThat(result, nullValue());
}
Also used : Event(com.amazon.dataprepper.model.event.Event) TestObject(org.opensearch.dataprepper.expression.util.TestObject) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Test(org.junit.jupiter.api.Test) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 80 with Event

use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.

the class ParseTreeCoercionServiceTest method testCoerceTerminalNodeEscapeJsonPointerType.

@ParameterizedTest
@MethodSource("provideKeys")
void testCoerceTerminalNodeEscapeJsonPointerType(final String testKey, final String testEscapeJsonPointer) throws ExpressionCoercionException {
    final String testValue = "test value";
    final Event testEvent = createTestEvent(Map.of(testKey, testValue));
    when(token.getType()).thenReturn(DataPrepperExpressionParser.EscapedJsonPointer);
    when(terminalNode.getSymbol()).thenReturn(token);
    when(terminalNode.getText()).thenReturn(testEscapeJsonPointer);
    final Object result = objectUnderTest.coercePrimaryTerminalNode(terminalNode, testEvent);
    assertThat(result, instanceOf(String.class));
    assertThat(result, equalTo(testValue));
}
Also used : Event(com.amazon.dataprepper.model.event.Event) TestObject(org.opensearch.dataprepper.expression.util.TestObject) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) MethodSource(org.junit.jupiter.params.provider.MethodSource)

Aggregations

Event (com.amazon.dataprepper.model.event.Event)81 Test (org.junit.jupiter.api.Test)52 JacksonEvent (com.amazon.dataprepper.model.event.JacksonEvent)46 Record (com.amazon.dataprepper.model.record.Record)23 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)22 List (java.util.List)12 TestObject (org.opensearch.dataprepper.expression.util.TestObject)11 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)10 ArrayList (java.util.ArrayList)7 HashMap (java.util.HashMap)7 MethodSource (org.junit.jupiter.params.provider.MethodSource)6 ZonedDateTime (java.time.ZonedDateTime)5 Map (java.util.Map)5 ParseTree (org.antlr.v4.runtime.tree.ParseTree)4 AggregateActionInput (com.amazon.dataprepper.plugins.processor.aggregate.AggregateActionInput)3 InputStream (java.io.InputStream)3 LinkedList (java.util.LinkedList)3 Random (java.util.Random)3 Test (org.junit.Test)3 ValueSource (org.junit.jupiter.params.provider.ValueSource)3