Search in sources :

Example 1 with Event

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

the class ParseTreeEvaluatorListenerTest method testSimpleEqualityOperatorExpressionWithJsonPointerTypeMissingKey.

@Test
void testSimpleEqualityOperatorExpressionWithJsonPointerTypeMissingKey() {
    final String testMissingKey1 = "missingKey1";
    final String testMissingKey2 = "missingKey2";
    final String equalStatement = String.format("/%s == /%s", testMissingKey1, testMissingKey2);
    final String notEqualStatement = String.format("/%s != 1", testMissingKey1);
    final Event testEvent = createTestEvent(new HashMap<>());
    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 2 with Event

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

the class ParseTreeEvaluatorListenerTest method testMultipleOperatorsParenthesesExpression.

@Test
void testMultipleOperatorsParenthesesExpression() {
    final Event testEvent = createTestEvent(new HashMap<>());
    final String testSingleParenthesisStatement = "not (not false) or true";
    assertThat(evaluateStatementOnEvent(testSingleParenthesisStatement, testEvent), is(true));
    final String testNestedParenthesesStatement = "not ((not false) or true)";
    assertThat(evaluateStatementOnEvent(testNestedParenthesesStatement, testEvent), is(false));
}
Also used : Event(com.amazon.dataprepper.model.event.Event) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) Test(org.junit.jupiter.api.Test)

Example 3 with Event

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

the class ParseTreeEvaluatorListenerTest method testMultipleOperatorsExpressionRelationalPriorToEquality.

@Test
void testMultipleOperatorsExpressionRelationalPriorToEquality() {
    final Event testEvent = createTestEvent(new HashMap<>());
    final String greaterThanPriorToEqualStatement = "2 > 1 == true";
    final String greaterThanOrEqualPriorToEqualStatement = "1 >= 1 == true";
    final String lessThanPriorToEqualStatement = "1 < 2 == true";
    final String lessThanOrEqualPriorToEqualStatement = "1 <= 1 == true";
    assertThat(evaluateStatementOnEvent(greaterThanPriorToEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(greaterThanOrEqualPriorToEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanPriorToEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanOrEqualPriorToEqualStatement, testEvent), is(true));
    final String greaterThanPriorToNotEqualStatement = "2 > 1 != false";
    final String greaterThanOrEqualPriorToNotEqualStatement = "1 >= 1 != false";
    final String lessThanPriorToNotEqualStatement = "1 < 2 != false";
    final String lessThanOrEqualPriorToNotEqualStatement = "1 <= 1 != false";
    assertThat(evaluateStatementOnEvent(greaterThanPriorToNotEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(greaterThanOrEqualPriorToNotEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanPriorToNotEqualStatement, testEvent), is(true));
    assertThat(evaluateStatementOnEvent(lessThanOrEqualPriorToNotEqualStatement, 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 4 with Event

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

the class ParseTreeEvaluatorListenerTest method testGetResultWithDoubleWalk.

@Test
void testGetResultWithDoubleWalk() {
    final ParseTree testParseTree = parseTreeParser.parse("true");
    final Event testEvent = createTestEvent(new HashMap<>());
    objectUnderTest = createObjectUnderTest(testEvent);
    walker.walk(objectUnderTest, testParseTree);
    walker.walk(objectUnderTest, testParseTree);
    assertThrows(IllegalStateException.class, objectUnderTest::getResult);
}
Also used : Event(com.amazon.dataprepper.model.event.Event) JacksonEvent(com.amazon.dataprepper.model.event.JacksonEvent) ParseTree(org.antlr.v4.runtime.tree.ParseTree) Test(org.junit.jupiter.api.Test)

Example 5 with Event

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

the class ParseTreeEvaluatorListenerTest method testSimpleNotOperatorExpressionWithJsonPointerTypeValidValue.

@Test
void testSimpleNotOperatorExpressionWithJsonPointerTypeValidValue() {
    final String testKey = "testKey";
    final boolean testValue = false;
    final Map<String, Boolean> data = Map.of(testKey, testValue);
    final String notStatement = String.format("not /%s", testKey);
    final Event testEvent = createTestEvent(data);
    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)

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