use of io.spine.client.EntityId in project core-java by SpineEventEngine.
the class EntityQueriesShould method construct_non_empty_queries.
@Test
public void construct_non_empty_queries() {
final Message someGenericId = Sample.messageOfType(ProjectId.class);
final Any someId = AnyPacker.pack(someGenericId);
final EntityId entityId = EntityId.newBuilder().setId(someId).build();
final EntityIdFilter idFilter = EntityIdFilter.newBuilder().addIds(entityId).build();
final Version versionValue = Version.newBuilder().setNumber(1).build();
final BoolValue archivedValue = BoolValue.newBuilder().setValue(true).build();
final EntityFilters filters = EntityFilters.newBuilder().setIdFilter(idFilter).putColumnFilter("version", AnyPacker.pack(versionValue)).putColumnFilter("archived", AnyPacker.pack(archivedValue)).build();
final Class<? extends Entity> entityClass = AbstractVersionableEntity.class;
final EntityQuery<?> query = EntityQueries.from(filters, entityClass);
assertNotNull(query);
assertSize(2, query.getParameters());
final Collection<?> ids = query.getIds();
assertFalse(ids.isEmpty());
assertSize(1, ids);
final Object singleId = ids.iterator().next();
assertEquals(someGenericId, singleId);
final Map<Column<?>, Object> params = query.getParameters();
final Collection<Object> values = params.values();
assertContains(versionValue, values);
assertContains(archivedValue.getValue(), values);
}
Aggregations