use of jakarta.nosql.column.ColumnQuery in project jnosql-diana by eclipse.
the class DefaultColumnQueryPaginationTest method shouldNext.
@Test
public void shouldNext() {
ColumnQuery query = select().from("column").where("name").eq("Ada").build();
Pagination pagination = Pagination.page(1).size(2);
Pagination secondPage = pagination.next();
ColumnQueryPagination queryPagination = ColumnQueryPagination.of(query, pagination);
assertNotNull(queryPagination);
assertEquals(pagination.getLimit(), queryPagination.getLimit());
assertEquals(pagination.getSkip(), queryPagination.getSkip());
isQueryEquals(query, pagination, queryPagination);
ColumnQueryPagination next = queryPagination.next();
isQueryEquals(query, secondPage, next);
}
use of jakarta.nosql.column.ColumnQuery in project jnosql-diana by eclipse.
the class DefaultColumnQueryPaginationTest method shouldOverrideSkipLimit.
@Test
public void shouldOverrideSkipLimit() {
ColumnQuery query = select().from("column").build();
Pagination pagination = Pagination.page(1).size(2);
ColumnQueryPagination queryPagination = ColumnQueryPagination.of(query, pagination);
assertNotNull(queryPagination);
assertEquals(pagination.getLimit(), queryPagination.getLimit());
assertEquals(pagination.getSkip(), queryPagination.getSkip());
}
use of jakarta.nosql.column.ColumnQuery in project jnosql-diana by eclipse.
the class DefaultColumnTemplateTest method shouldExecuteQuery.
@Test
public void shouldExecuteQuery() {
Stream<Person> people = subject.query("select * from Person");
ArgumentCaptor<ColumnQuery> queryCaptor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(managerMock).select(queryCaptor.capture());
ColumnQuery query = queryCaptor.getValue();
assertEquals("Person", query.getColumnFamily());
}
use of jakarta.nosql.column.ColumnQuery in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyPaginationTest method shouldFindByNameInstance.
@Test
public void shouldFindByNameInstance() {
when(template.singleResult(any(ColumnQuery.class))).thenReturn(Optional.of(Person.builder().build()));
Pagination pagination = getPagination();
personRepository.findByName("name", pagination);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).singleResult(captor.capture());
ColumnQuery query = captor.getValue();
ColumnCondition condition = query.getCondition().get();
assertEquals("Person", query.getColumnFamily());
assertEquals(Condition.EQUALS, condition.getCondition());
assertEquals(pagination.getSkip(), query.getSkip());
assertEquals(pagination.getLimit(), query.getLimit());
assertEquals(Column.of("name", "name"), condition.getColumn());
assertNotNull(personRepository.findByName("name", pagination));
when(template.singleResult(any(ColumnQuery.class))).thenReturn(Optional.empty());
assertNull(personRepository.findByName("name", pagination));
}
use of jakarta.nosql.column.ColumnQuery in project jnosql-diana by eclipse.
the class ColumnRepositoryProxyPaginationTest method shouldFindByGreaterThan.
@Test
public void shouldFindByGreaterThan() {
Person ada = Person.builder().withAge(20).withName("Ada").build();
when(template.select(any(ColumnQuery.class))).thenReturn(Stream.of(ada));
Pagination pagination = getPagination();
personRepository.findByAgeGreaterThan(33, pagination);
ArgumentCaptor<ColumnQuery> captor = ArgumentCaptor.forClass(ColumnQuery.class);
verify(template).select(captor.capture());
ColumnQuery query = captor.getValue();
ColumnCondition condition = query.getCondition().get();
assertEquals("Person", query.getColumnFamily());
assertEquals(GREATER_THAN, condition.getCondition());
assertEquals(Column.of("age", 33), condition.getColumn());
assertEquals(pagination.getSkip(), query.getSkip());
assertEquals(pagination.getLimit(), query.getLimit());
}
Aggregations