Search in sources :

Example 16 with Event

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

the class ParseTreeEvaluatorListenerTest method testSimpleNotOperatorExpressionWithValidLiteralType.

@Test
void testSimpleNotOperatorExpressionWithValidLiteralType() {
    final String notStatement = "not false";
    final Event testEvent = createTestEvent(new HashMap<>());
    assertThat(evaluateStatementOnEvent(notStatement, 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 17 with Event

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

the class ParseTreeEvaluatorListenerTest method testSimpleConditionalOperatorExpressionWithValidLiteralType.

@Test
void testSimpleConditionalOperatorExpressionWithValidLiteralType() {
    final String andStatement = "true and false";
    final String orStatement = "true or false";
    final Event testEvent = createTestEvent(new HashMap<>());
    assertThat(evaluateStatementOnEvent(andStatement, testEvent), is(false));
    assertThat(evaluateStatementOnEvent(orStatement, 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 18 with Event

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

the class ParseTreeEvaluatorListenerTest method testSimpleRelationalOperatorExpressionWithValidLiteralType.

@Test
void testSimpleRelationalOperatorExpressionWithValidLiteralType() {
    final String greaterThanStatement = "2 > 1";
    final String greaterThanOrEqualStatement = "1 >= 1";
    final String lessThanStatement = "1 < 2";
    final String lessThanOrEqualStatement = "1 <= 1";
    final Event testEvent = createTestEvent(new HashMap<>());
    assertThat(evaluateStatementOnEvent(greaterThanStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(greaterThanOrEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanOrEqualStatement, 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 19 with Event

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

the class ConditionalExpressionEvaluatorTest method testGivenUnexpectedEvaluatorResultTypeThenExceptionThrown.

@Test
void testGivenUnexpectedEvaluatorResultTypeThenExceptionThrown() {
    final String statement = UUID.randomUUID().toString();
    final ParseTree parseTree = mock(ParseTree.class);
    final Event event = mock(Event.class);
    final Object result = mock(Object.class);
    doReturn(parseTree).when(parser).parse(eq(statement));
    doReturn(result).when(evaluator).evaluate(eq(parseTree), eq(event));
    assertThrows(ExpressionEvaluationException.class, () -> statementEvaluator.evaluate(statement, event));
    verify(parser).parse(eq(statement));
    verify(evaluator).evaluate(eq(parseTree), eq(event));
}
Also used : Event(com.amazon.dataprepper.model.event.Event) ParseTree(org.antlr.v4.runtime.tree.ParseTree) Test(org.junit.jupiter.api.Test)

Example 20 with Event

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

the class ConditionalExpressionEvaluatorTest method testGivenEvaluatorThrowsExceptionThenExceptionThrown.

@Test
void testGivenEvaluatorThrowsExceptionThenExceptionThrown() {
    final String statement = UUID.randomUUID().toString();
    final ParseTree parseTree = mock(ParseTree.class);
    final Event event = mock(Event.class);
    doReturn(parseTree).when(parser).parse(eq(statement));
    doThrow(new RuntimeException()).when(evaluator).evaluate(eq(parseTree), eq(event));
    assertThrows(ExpressionEvaluationException.class, () -> statementEvaluator.evaluate(statement, event));
    verify(parser).parse(eq(statement));
    verify(evaluator).evaluate(eq(parseTree), eq(event));
}
Also used : Event(com.amazon.dataprepper.model.event.Event) ParseTree(org.antlr.v4.runtime.tree.ParseTree) Test(org.junit.jupiter.api.Test)

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