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));
}
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));
}
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));
}
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));
}
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));
}
Aggregations