use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleEqualityOperatorExpressionWithLiteralType.
@Test
void testSimpleEqualityOperatorExpressionWithLiteralType() {
final String equalStatement = "\"a\" == \"a\"";
final String notEqualStatement = "\"a\" != \"b\"";
final Event testEvent = createTestEvent(new HashMap<>());
assertThat(evaluateStatementOnEvent(equalStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(notEqualStatement, testEvent), is(true));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleEqualityOperatorExpressionWithJsonPointerType.
@Test
void testSimpleEqualityOperatorExpressionWithJsonPointerType() {
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);
final String notEqualStatement = String.format("/%s != %d", testKey, testValue + 1);
assertThat(evaluateStatementOnEvent(equalStatement, testEvent), is(true));
assertThat(evaluateStatementOnEvent(notEqualStatement, testEvent), is(true));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeEvaluatorListenerTest method testSimpleNotOperatorExpressionWithJsonPointerTypeInValidValue.
@Test
void testSimpleNotOperatorExpressionWithJsonPointerTypeInValidValue() {
final String testKey = "testKey";
final int testValue = random.nextInt(1000);
final Map<String, Integer> data = Map.of(testKey, testValue);
final String notStatement = String.format("not /%s", testKey);
final Event testEvent = createTestEvent(data);
assertThrows(ExpressionEvaluationException.class, () -> evaluateStatementOnEvent(notStatement, testEvent));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeCoercionServiceTest method testCoerceTerminalNodeStringType.
@Test
void testCoerceTerminalNodeStringType() {
when(token.getType()).thenReturn(DataPrepperExpressionParser.String);
final String testString = "test string";
final String testNodeStringValue = String.format("\"%s\"", testString);
when(terminalNode.getSymbol()).thenReturn(token);
when(terminalNode.getText()).thenReturn(testNodeStringValue);
final Event testEvent = createTestEvent(new HashMap<>());
final Object result = objectUnderTest.coercePrimaryTerminalNode(terminalNode, testEvent);
assertThat(result, instanceOf(String.class));
assertThat(result, equalTo(testString));
}
use of com.amazon.dataprepper.model.event.Event in project data-prepper by opensearch-project.
the class ParseTreeCoercionServiceTest method testCoerceTerminalNodeFloatType.
@Test
void testCoerceTerminalNodeFloatType() {
when(token.getType()).thenReturn(DataPrepperExpressionParser.Float);
final Float testFloat = new Random().nextFloat();
when(terminalNode.getSymbol()).thenReturn(token);
when(terminalNode.getText()).thenReturn(String.valueOf(testFloat));
final Event testEvent = createTestEvent(new HashMap<>());
final Object result = objectUnderTest.coercePrimaryTerminalNode(terminalNode, testEvent);
assertThat(result, instanceOf(Float.class));
assertThat(result, equalTo(testFloat));
}
Aggregations