Search in sources :

Example 1 with ParamQueryValue

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());
}
Also used : Condition(jakarta.nosql.query.Condition) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) UpdateQuery(jakarta.nosql.query.UpdateQuery) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 2 with ParamQueryValue

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());
}
Also used : Condition(jakarta.nosql.query.Condition) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) DeleteQuery(jakarta.nosql.query.DeleteQuery) Where(jakarta.nosql.query.Where) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) ConditionQueryValue(jakarta.nosql.query.ConditionQueryValue) QueryValue(jakarta.nosql.query.QueryValue) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 3 with ParamQueryValue

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());
}
Also used : Condition(jakarta.nosql.query.Condition) ParamQueryValue(jakarta.nosql.query.ParamQueryValue) DeleteQuery(jakarta.nosql.query.DeleteQuery) Where(jakarta.nosql.query.Where) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 4 with ParamQueryValue

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());
}
Also used : ParamQueryValue(jakarta.nosql.query.ParamQueryValue) Duration(java.time.Duration) PutQuery(jakarta.nosql.query.PutQuery) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 5 with ParamQueryValue

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());
}
Also used : ParamQueryValue(jakarta.nosql.query.ParamQueryValue) Duration(java.time.Duration) PutQuery(jakarta.nosql.query.PutQuery) ValueSource(org.junit.jupiter.params.provider.ValueSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Aggregations

ParamQueryValue (jakarta.nosql.query.ParamQueryValue)16 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)13 ValueSource (org.junit.jupiter.params.provider.ValueSource)13 Condition (jakarta.nosql.query.Condition)10 Where (jakarta.nosql.query.Where)8 PutQuery (jakarta.nosql.query.PutQuery)5 Duration (java.time.Duration)5 ConditionQueryValue (jakarta.nosql.query.ConditionQueryValue)4 DeleteQuery (jakarta.nosql.query.DeleteQuery)4 QueryValue (jakarta.nosql.query.QueryValue)4 SelectQuery (jakarta.nosql.query.SelectQuery)4 Operator (jakarta.nosql.query.Operator)2 InsertQuery (jakarta.nosql.query.InsertQuery)1 UpdateQuery (jakarta.nosql.query.UpdateQuery)1