Search in sources :

Example 51 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnQueryDeleteParserTest method shouldDeleteByNameAndAAgeBetween.

@Test
public void shouldDeleteByNameAndAAgeBetween() {
    ColumnDeleteQuery query = parser.parse("deleteByNameAndAgeBetween", new Object[] { "name", 10, 11 }, classRepresentation, converters);
    assertEquals("Person", query.getColumnFamily());
    ColumnCondition condition = query.getCondition().get();
    assertEquals(Condition.AND, condition.getCondition());
    List<ColumnCondition> conditions = condition.getColumn().get(new TypeReference<List<ColumnCondition>>() {
    });
    ColumnCondition condition1 = conditions.get(0);
    assertEquals(Condition.EQUALS, condition1.getCondition());
    assertEquals(Column.of("name", "name"), condition1.getColumn());
    ColumnCondition condition2 = conditions.get(1);
    assertEquals(Condition.BETWEEN, condition2.getCondition());
    assertEquals(Column.of("age", Arrays.asList(10, 11)), condition2.getColumn());
}
Also used : List(java.util.List) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) ColumnDeleteQuery(org.jnosql.diana.api.column.ColumnDeleteQuery) Test(org.junit.jupiter.api.Test)

Example 52 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnQueryParserTest method shouldFindByNameAndAge.

@Test
public void shouldFindByNameAndAge() {
    ColumnQuery query = parser.parse("findByNameAndAge", new Object[] { "name", 10 }, classRepresentation, converters);
    ColumnCondition condition = query.getCondition().get();
    assertEquals("Person", query.getColumnFamily());
    assertEquals(Condition.AND, condition.getCondition());
    List<ColumnCondition> conditions = condition.getColumn().get(new TypeReference<List<ColumnCondition>>() {
    });
    ColumnCondition condition1 = conditions.get(0);
    assertEquals(Condition.EQUALS, condition1.getCondition());
    assertEquals(Column.of("name", "name"), condition1.getColumn());
    ColumnCondition condition2 = conditions.get(1);
    assertEquals(Condition.EQUALS, condition2.getCondition());
    assertEquals(Column.of("age", 10), condition2.getColumn());
}
Also used : ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) List(java.util.List) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Example 53 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnQueryParserTest method shouldFindByNameAndAAgeBetween.

@Test
public void shouldFindByNameAndAAgeBetween() {
    ColumnQuery query = parser.parse("findByNameAndAgeBetween", new Object[] { "name", 10, 11 }, classRepresentation, converters);
    assertEquals("Person", query.getColumnFamily());
    ColumnCondition condition = query.getCondition().get();
    assertEquals(Condition.AND, condition.getCondition());
    List<ColumnCondition> conditions = condition.getColumn().get(new TypeReference<List<ColumnCondition>>() {
    });
    ColumnCondition condition1 = conditions.get(0);
    assertEquals(Condition.EQUALS, condition1.getCondition());
    assertEquals(Column.of("name", "name"), condition1.getColumn());
    ColumnCondition condition2 = conditions.get(1);
    assertEquals(Condition.BETWEEN, condition2.getCondition());
    assertEquals(Column.of("age", Arrays.asList(10, 11)), condition2.getColumn());
}
Also used : ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) List(java.util.List) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Example 54 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnQueryParserTest method shouldFindByNameOrAge.

@Test
public void shouldFindByNameOrAge() {
    ColumnQuery query = parser.parse("findByNameOrAge", new Object[] { "name", 10 }, classRepresentation, converters);
    ColumnCondition condition = query.getCondition().get();
    assertEquals("Person", query.getColumnFamily());
    assertEquals(Condition.OR, condition.getCondition());
    List<ColumnCondition> conditions = condition.getColumn().get(new TypeReference<List<ColumnCondition>>() {
    });
    ColumnCondition condition1 = conditions.get(0);
    assertEquals(Condition.EQUALS, condition1.getCondition());
    assertEquals(Column.of("name", "name"), condition1.getColumn());
    ColumnCondition condition2 = conditions.get(1);
    assertEquals(Condition.EQUALS, condition2.getCondition());
    assertEquals(Column.of("age", 10), condition2.getColumn());
}
Also used : ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) List(java.util.List) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Example 55 with ColumnCondition

use of org.jnosql.diana.api.column.ColumnCondition in project jnosql-artemis by eclipse.

the class ColumnRepositoryAsyncProxyTest method shouldExecuteQuery.

@Test
public void shouldExecuteQuery() {
    Consumer<List<Person>> callback = v -> {
    };
    ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
    ArgumentCaptor<Consumer> consumerCaptor = ArgumentCaptor.forClass(Consumer.class);
    ColumnQuery query = select().from("Person").where("name").eq("Ada").build();
    personRepository.query(query, callback);
    verify(template).select(captor.capture(), consumerCaptor.capture());
    ColumnQuery queryCaptor = captor.getValue();
    ColumnCondition condition = query.getCondition().get();
    assertEquals(query, queryCaptor);
    assertEquals(callback, consumerCaptor.getValue());
}
Also used : BeforeEach(org.junit.jupiter.api.BeforeEach) Assertions.assertNotNull(org.junit.jupiter.api.Assertions.assertNotNull) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Converters(org.jnosql.artemis.Converters) Proxy(java.lang.reflect.Proxy) RepositoryAsync(org.jnosql.artemis.RepositoryAsync) Pagination(org.jnosql.artemis.Pagination) ColumnDeleteQuery(org.jnosql.diana.api.column.ColumnDeleteQuery) DynamicQueryException(org.jnosql.artemis.DynamicQueryException) ColumnQueryBuilder.delete(org.jnosql.diana.api.column.query.ColumnQueryBuilder.delete) Collections.singletonList(java.util.Collections.singletonList) Person(org.jnosql.artemis.model.Person) Reflections(org.jnosql.artemis.reflection.Reflections) Condition(org.jnosql.diana.api.Condition) Inject(javax.inject.Inject) CDIExtension(org.jnosql.artemis.CDIExtension) ArgumentCaptor(org.mockito.ArgumentCaptor) ExtendWith(org.junit.jupiter.api.extension.ExtendWith) Matchers.eq(org.mockito.Matchers.eq) Duration(java.time.Duration) Assertions.assertEquals(org.junit.jupiter.api.Assertions.assertEquals) ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) Sort(org.jnosql.diana.api.Sort) ColumnTemplateAsync(org.jnosql.artemis.column.ColumnTemplateAsync) ClassRepresentations(org.jnosql.artemis.reflection.ClassRepresentations) Column(org.jnosql.diana.api.column.Column) Mockito.verify(org.mockito.Mockito.verify) Test(org.junit.jupiter.api.Test) Consumer(java.util.function.Consumer) Matchers.any(org.mockito.Matchers.any) Mockito(org.mockito.Mockito) List(java.util.List) ColumnQueryBuilder.select(org.jnosql.diana.api.column.query.ColumnQueryBuilder.select) Assertions(org.junit.jupiter.api.Assertions) Optional(java.util.Optional) ColumnQuery(org.jnosql.diana.api.column.ColumnQuery) Consumer(java.util.function.Consumer) Collections.singletonList(java.util.Collections.singletonList) List(java.util.List) ColumnCondition(org.jnosql.diana.api.column.ColumnCondition) Test(org.junit.jupiter.api.Test)

Aggregations

ColumnCondition (org.jnosql.diana.api.column.ColumnCondition)69 Test (org.junit.jupiter.api.Test)46 Column (org.jnosql.diana.api.column.Column)29 ColumnQuery (org.jnosql.diana.api.column.ColumnQuery)29 ColumnDeleteQuery (org.jnosql.diana.api.column.ColumnDeleteQuery)23 List (java.util.List)20 Person (org.jnosql.artemis.model.Person)13 Collections.singletonList (java.util.Collections.singletonList)7 Pagination (org.jnosql.artemis.Pagination)7 Condition (org.jnosql.diana.api.Condition)7 Sort (org.jnosql.diana.api.Sort)7 Proxy (java.lang.reflect.Proxy)6 Duration (java.time.Duration)6 Optional (java.util.Optional)6 Consumer (java.util.function.Consumer)6 Inject (javax.inject.Inject)6 CDIExtension (org.jnosql.artemis.CDIExtension)6 Converters (org.jnosql.artemis.Converters)6 DynamicQueryException (org.jnosql.artemis.DynamicQueryException)6 RepositoryAsync (org.jnosql.artemis.RepositoryAsync)6