use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSinglePrimaryExpression.
@Test
void testSinglePrimaryExpression() {
final String testStringValue = "test string";
final String testSingleStringStatement = String.format("\"%s\"", testStringValue);
final Integer testInteger = random.nextInt(1000);
final String testSingleIntegerStatement = String.format("%d", testInteger);
final Float testFloat = random.nextFloat();
final String testSingleFloatStatement = String.valueOf(testFloat);
final String testSingleBooleanStatement = "true";
final String testKey = "testKey";
final Integer testValue = random.nextInt();
final Map<String, Integer> data = Map.of(testKey, testValue);
final Event testEvent = createTestEvent(data);
final String testSingleJsonPointerStatement = String.format("/%s", testKey);
final String testSingleEscapeJsonPointerStatement = String.format("\"/%s\"", testKey);
assertThat(evaluateStatementOnEvent(testSingleStringStatement, testEvent), equalTo(testStringValue));
assertThat(evaluateStatementOnEvent(testSingleIntegerStatement, testEvent), equalTo(testInteger));
assertThat(evaluateStatementOnEvent(testSingleFloatStatement, testEvent), equalTo(testFloat));
assertThat(evaluateStatementOnEvent(testSingleBooleanStatement, testEvent), equalTo(true));
assertThat(evaluateStatementOnEvent(testSingleJsonPointerStatement, testEvent), equalTo(testValue));
assertThat(evaluateStatementOnEvent(testSingleEscapeJsonPointerStatement, testEvent), equalTo(testValue));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleRelationalOperatorExpressionWithInValidLiteralType.
@Test
void testSimpleRelationalOperatorExpressionWithInValidLiteralType() {
final String greaterThanStatement = "2 > true";
final String greaterThanOrEqualStatement = "1 >= true";
final String lessThanStatement = "1 < true";
final String lessThanOrEqualStatement = "1 <= true";
final Event testEvent = createTestEvent(new HashMap<>());
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(greaterThanStatement, testEvent));
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(greaterThanOrEqualStatement, testEvent));
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(lessThanStatement, testEvent));
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(lessThanOrEqualStatement, testEvent));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleConditionalOperatorExpressionWithJsonPointerTypeValidValue.
@Test
void testSimpleConditionalOperatorExpressionWithJsonPointerTypeValidValue() {
final String testKey = "testKey";
final boolean testValue = true;
final Map<String, Boolean> data = Map.of(testKey, testValue);
final Event testEvent = createTestEvent(data);
final String andStatement = String.format("/%s and false", testKey);
final String orStatement = String.format("/%s or false", testKey);
assertThat(evaluateStatementOnEvent(andStatement, testEvent), is(false));
assertThat(evaluateStatementOnEvent(orStatement, testEvent), is(true));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleNotOperatorExpressionWithInValidLiteralType.
@Test
void testSimpleNotOperatorExpressionWithInValidLiteralType() {
final String notStatement = "not 1";
final Event testEvent = createTestEvent(new HashMap<>());
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(notStatement, testEvent));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleConditionalOperatorExpressionWithJsonPointerTypeInValidValue.
@Test
void testSimpleConditionalOperatorExpressionWithJsonPointerTypeInValidValue() {
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 andStatement = String.format("/%s and false", testKey);
final String orStatement = String.format("/%s or false", testKey);
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(andStatement, testEvent));
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(orStatement, testEvent));
}
Aggregations