use of org.jnosql.diana.api.column.ColumnQuery in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerAsyncTest method shouldInsertColumnsAsyncWithCallBack.
@Test
public void shouldInsertColumnsAsyncWithCallBack() {
ColumnEntity columnEntity = getColumnFamily();
AtomicBoolean callBack = new AtomicBoolean(false);
columnEntityManager.insert(columnEntity, c -> callBack.set(true));
await().untilTrue(callBack);
ColumnQuery query = select().from(COLUMN_FAMILY).where("id").eq(10L).build();
AtomicReference<List<ColumnEntity>> entities = new AtomicReference<>(emptyList());
columnEntityManager.select(query, entities::set);
await().until(() -> entities.get().size(), not(equalTo(0)));
assertThat(entities.get(), contains(columnEntity));
}
use of org.jnosql.diana.api.column.ColumnQuery in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerAsyncTest method shouldInsertWithTTl.
@Test
public void shouldInsertWithTTl() throws InterruptedException {
AtomicBoolean callBack = new AtomicBoolean(false);
columnEntityManager.insert(getColumnFamily(), Duration.ofSeconds(1L), c -> {
callBack.set(true);
});
await().untilTrue(callBack);
sleep(2_000L);
callBack.set(false);
ColumnQuery query = select().from(COLUMN_FAMILY).where("id").eq(10L).build();
AtomicReference<List<ColumnEntity>> references = new AtomicReference<>();
columnEntityManager.select(query, l -> {
references.set(l);
});
await().until(references::get, notNullValue(List.class));
assertTrue(references.get().isEmpty());
}
use of org.jnosql.diana.api.column.ColumnQuery in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerTest method shouldReturnErrorWhenThereIsNotThanOneRsultInSingleResult.
@Test
public void shouldReturnErrorWhenThereIsNotThanOneRsultInSingleResult() {
entityManager.insert(getEntities());
ColumnQuery query = select().from(COLUMN_FAMILY).build();
assertThrows(NonUniqueResultException.class, () -> {
entityManager.singleResult(query);
});
}
use of org.jnosql.diana.api.column.ColumnQuery in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerTest method shouldSupportUDT.
@Test
public void shouldSupportUDT() {
ColumnEntity entity = ColumnEntity.of("users");
entity.add(Column.of("nickname", "ada"));
List<Column> columns = new ArrayList<>();
columns.add(Column.of("firstname", "Ada"));
columns.add(Column.of("lastname", "Lovelace"));
UDT udt = UDT.builder("fullname").withName("name").addUDT(columns).build();
entity.add(udt);
entityManager.insert(entity);
ColumnQuery query = select().from("users").build();
ColumnEntity columnEntity = entityManager.singleResult(query).get();
Column column = columnEntity.find("name").get();
udt = UDT.class.cast(column);
List<Column> udtColumns = (List<Column>) udt.get();
assertEquals("name", udt.getName());
assertEquals("fullname", udt.getUserType());
assertThat(udtColumns, Matchers.containsInAnyOrder(Column.of("firstname", "Ada"), Column.of("lastname", "Lovelace")));
}
use of org.jnosql.diana.api.column.ColumnQuery in project jnosql-diana-driver by eclipse.
the class CassandraColumnFamilyManagerTest method shouldReturnSingleResult.
@Test
public void shouldReturnSingleResult() {
ColumnEntity columnEntity = getColumnFamily();
entityManager.insert(columnEntity);
ColumnQuery query = select().from(columnEntity.getName()).where("id").eq(10L).build();
Optional<ColumnEntity> entity = entityManager.singleResult(query);
query = select().from(columnEntity.getName()).where("id").eq(-10L).build();
entity = entityManager.singleResult(query);
assertFalse(entity.isPresent());
}
Aggregations