use of jakarta.nosql.query.Where in project jnosql-diana by eclipse.
the class SelectQueryProviderTest method shouldReturnParserQuery16.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "select * from God where name = 'diana'" })
public void shouldReturnParserQuery16(String query) {
SelectQuery selectQuery = checkSelectFromStart(query);
assertTrue(selectQuery.getWhere().isPresent());
Where where = selectQuery.getWhere().get();
Condition condition = where.getCondition();
QueryValue<?> value = condition.getValue();
Assertions.assertEquals(Operator.EQUALS, condition.getOperator());
assertEquals("name", condition.getName());
assertTrue(value instanceof StringQueryValue);
assertEquals("diana", value.get());
}
use of jakarta.nosql.query.Where in project jnosql-diana by eclipse.
the class SelectQueryProviderTest method shouldReturnParserQuery10.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "select * from God where stamina > 10.23" })
public void shouldReturnParserQuery10(String query) {
SelectQuery selectQuery = checkSelectFromStart(query);
assertTrue(selectQuery.getWhere().isPresent());
Where where = selectQuery.getWhere().get();
Condition condition = where.getCondition();
QueryValue<?> value = condition.getValue();
Assertions.assertEquals(Operator.GREATER_THAN, condition.getOperator());
assertEquals("stamina", condition.getName());
assertTrue(value instanceof NumberQueryValue);
assertEquals(10.23, value.get());
}
use of jakarta.nosql.query.Where in project jnosql-diana by eclipse.
the class SelectQueryProviderTest method shouldReturnParserQuery19.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "select * from God where siblings = {\"apollo\": \"Brother\", \"Zeus\": \"Father\"}" })
public void shouldReturnParserQuery19(String query) {
SelectQuery selectQuery = checkSelectFromStart(query);
assertTrue(selectQuery.getWhere().isPresent());
Where where = selectQuery.getWhere().get();
Condition condition = where.getCondition();
QueryValue<?> value = condition.getValue();
Assertions.assertEquals(Operator.EQUALS, condition.getOperator());
assertEquals("siblings", condition.getName());
assertTrue(value instanceof JSONQueryValue);
JsonObject jsonObject = JSONQueryValue.class.cast(value).get();
assertEquals("Brother", jsonObject.getString("apollo"));
assertEquals("Father", jsonObject.getString("Zeus"));
}
use of jakarta.nosql.query.Where in project jnosql-diana by eclipse.
the class SelectQueryProviderTest method shouldReturnParserQuery20.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "select * from God where name = @name" })
public void shouldReturnParserQuery20(String query) {
SelectQuery selectQuery = checkSelectFromStart(query);
assertTrue(selectQuery.getWhere().isPresent());
Where where = selectQuery.getWhere().get();
Condition condition = where.getCondition();
QueryValue<?> value = condition.getValue();
Assertions.assertEquals(Operator.EQUALS, condition.getOperator());
assertEquals("name", condition.getName());
assertTrue(value instanceof ParamQueryValue);
assertEquals("name", ParamQueryValue.class.cast(value).get());
}
use of jakarta.nosql.query.Where in project jnosql-diana by eclipse.
the class DeleteByMethodQueryProviderTest method checkAppendCondition.
private void checkAppendCondition(String query, Operator operator, Operator operator2, String variable, String variable2, Operator operatorAppender) {
String entity = "entity";
DeleteQuery deleteQuery = queryProvider.apply(query, entity);
assertNotNull(deleteQuery);
assertEquals(entity, deleteQuery.getEntity());
assertTrue(deleteQuery.getFields().isEmpty());
Optional<Where> where = deleteQuery.getWhere();
assertTrue(where.isPresent());
Condition condition = where.get().getCondition();
QueryValue<?> value = condition.getValue();
assertEquals(operatorAppender, condition.getOperator());
assertTrue(value instanceof ConditionQueryValue);
Condition condition1 = ConditionQueryValue.class.cast(value).get().get(0);
Condition condition2 = ConditionQueryValue.class.cast(value).get().get(1);
assertEquals(operator, condition1.getOperator());
QueryValue<?> param = condition1.getValue();
assertEquals(operator, condition1.getOperator());
assertTrue(ParamQueryValue.class.cast(param).get().contains(variable));
assertEquals(operator2, condition2.getOperator());
QueryValue<?> param2 = condition2.getValue();
assertEquals(condition2.getOperator(), operator2);
assertTrue(ParamQueryValue.class.cast(param2).get().contains(variable2));
}
Aggregations