use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleConditionalOperatorExpressionWithInValidLiteralType.
@Test
void testSimpleConditionalOperatorExpressionWithInValidLiteralType() {
final String andStatement = "1 and false";
final String orStatement = "true or 0";
final Event testEvent = createTestEvent(new HashMap<>());
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(andStatement, testEvent));
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(orStatement, testEvent));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleRelationalOperatorExpressionWithJsonPointerTypeValidValue.
@Test
void testSimpleRelationalOperatorExpressionWithJsonPointerTypeValidValue() {
final String testKey = "testKey";
final int testValue = random.nextInt(1000);
final Map<String, Integer> data = Map.of(testKey, testValue);
final Event testEvent = createTestEvent(data);
final String greaterThanStatement = String.format(" /%s > %d", testKey, testValue - 1);
final String greaterThanOrEqualStatement = String.format(" /%s >= /%s", testKey, testKey);
final String lessThanStatement = String.format(" /%s < %d", testKey, testValue + 1);
final String lessThanOrEqualStatement = String.format(" /%s <= /%s", testKey, testKey);
assertThat(evaluateStatementOnEvent(greaterThanStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(greaterThanOrEqualStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(lessThanStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(lessThanOrEqualStatement, testEvent), is(true));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testVisitErrorNode.
@Test
void testVisitErrorNode() {
final ErrorNode errorNode = mock(ErrorNode.class);
final Event testEvent = createTestEvent(new HashMap<>());
objectUnderTest = createObjectUnderTest(testEvent);
assertThrows(RuntimeException.class, () -> objectUnderTest.visitErrorNode(errorNode));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testMultipleOperatorsExpressionEqualityPriorToConditional.
@Test
void testMultipleOperatorsExpressionEqualityPriorToConditional() {
final Event testEvent = createTestEvent(new HashMap<>());
final String equalPriorToAndStatement = "true and 1 == 1";
final String equalPriorToOrStatement = "false or 1 == 1";
final String notEqualPriorToAndStatement = "true and 1 != 2";
final String notEqualPriorToOrStatement = "false or 1 != 2";
assertThat(evaluateStatementOnEvent(equalPriorToAndStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(equalPriorToOrStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(notEqualPriorToAndStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(notEqualPriorToOrStatement, testEvent), is(true));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleEqualityOperatorExpressionWithEscapeJsonPointerType.
@Test
void testSimpleEqualityOperatorExpressionWithEscapeJsonPointerType() {
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);
assertThat(evaluateStatementOnEvent(equalStatement, testEvent), is(true));
}
Aggregations