use of jakarta.nosql.query.ParamQueryValue in project jnosql-diana by eclipse.
the class UpdateQueryProviderTest method shouldReturnParserQuery4.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "update God (age = @age)" })
public void shouldReturnParserQuery4(String query) {
UpdateQuery updateQuery = checkUpdateFromStart(query);
List<Condition> conditions = updateQuery.getConditions();
assertEquals(1, conditions.size());
Condition condition = conditions.get(0);
assertEquals("age", condition.getName());
assertEquals(Operator.EQUALS, condition.getOperator());
QueryValue<?> value = condition.getValue();
assertTrue(value instanceof ParamQueryValue);
assertEquals("age", ParamQueryValue.class.cast(value).get());
}
use of jakarta.nosql.query.ParamQueryValue in project jnosql-diana by eclipse.
the class DeleteByMethodQueryProviderTest method shouldReturnParserQuery28.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "deleteByAgeNotBetween" })
public void shouldReturnParserQuery28(String query) {
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(Operator.NOT, condition.getOperator());
Condition notCondition = MethodConditionValue.class.cast(value).get().get(0);
assertEquals(Operator.BETWEEN, notCondition.getOperator());
QueryValue<?>[] values = MethodArrayValue.class.cast(notCondition.getValue()).get();
ParamQueryValue param1 = (ParamQueryValue) values[0];
ParamQueryValue param2 = (ParamQueryValue) values[1];
assertNotEquals(param2.get(), param1.get());
}
use of jakarta.nosql.query.ParamQueryValue in project jnosql-diana by eclipse.
the class DeleteQueryProviderTest method shouldReturnParserQuery13.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "delete from God where name = @name" })
public void shouldReturnParserQuery13(String query) {
DeleteQuery deleteQuery = checkDeleteFromStart(query);
assertTrue(deleteQuery.getWhere().isPresent());
Where where = deleteQuery.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.ParamQueryValue in project jnosql-diana by eclipse.
the class PutProviderTest method shouldReturnParserQuery7.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "put {@name, @value, 10 nanosecond}\n" })
public void shouldReturnParserQuery7(String query) {
PutQuery putQuery = provider.apply(query);
QueryValue<?> key = putQuery.getKey();
QueryValue<?> value = putQuery.getValue();
Optional<Duration> ttl = putQuery.getTtl();
assertTrue(key instanceof ParamQueryValue);
assertEquals("name", ParamQueryValue.class.cast(key).get());
assertTrue(value instanceof ParamQueryValue);
assertEquals("value", ParamQueryValue.class.cast(value).get());
assertTrue(ttl.isPresent());
assertEquals(Duration.ofNanos(10L), ttl.get());
}
use of jakarta.nosql.query.ParamQueryValue in project jnosql-diana by eclipse.
the class PutProviderTest method shouldReturnParserQuery3.
@ParameterizedTest(name = "Should parser the query {0}")
@ValueSource(strings = { "put {@name, @value, 10 hour}\n" })
public void shouldReturnParserQuery3(String query) {
PutQuery putQuery = provider.apply(query);
QueryValue<?> key = putQuery.getKey();
QueryValue<?> value = putQuery.getValue();
Optional<Duration> ttl = putQuery.getTtl();
assertTrue(key instanceof ParamQueryValue);
assertEquals("name", ParamQueryValue.class.cast(key).get());
assertTrue(value instanceof ParamQueryValue);
assertEquals("value", ParamQueryValue.class.cast(value).get());
assertTrue(ttl.isPresent());
assertEquals(Duration.ofHours(10L), ttl.get());
}
Aggregations