Search in sources :

Example 1 with Query

use of io.spine.client.Query in project core-java by SpineEventEngine.

the class QueryBuilderShould method create_queries_with_field_mask.

@Test
public void create_queries_with_field_mask() {
    final String fieldName = "TestEntity.firstField";
    final Query query = factory().query().select(TestEntity.class).withMask(fieldName).build();
    assertNotNull(query);
    assertTrue(query.hasFieldMask());
    final FieldMask mask = query.getFieldMask();
    final Collection<String> fieldNames = mask.getPathsList();
    assertSize(1, fieldNames);
    assertContains(fieldName, fieldNames);
}
Also used : Query(io.spine.client.Query) Matchers.containsString(org.hamcrest.Matchers.containsString) FieldMask(com.google.protobuf.FieldMask) Test(org.junit.Test)

Example 2 with Query

use of io.spine.client.Query in project core-java by SpineEventEngine.

the class QueryBuilderShould method create_queries_with_ids.

@Test
public void create_queries_with_ids() {
    final int id1 = 314;
    final int id2 = 271;
    final Query query = factory().query().select(TestEntity.class).byId(id1, id2).build();
    assertNotNull(query);
    assertFalse(query.hasFieldMask());
    final Target target = query.getTarget();
    assertFalse(target.getIncludeAll());
    final EntityFilters entityFilters = target.getFilters();
    final EntityIdFilter idFilter = entityFilters.getIdFilter();
    final Collection<EntityId> idValues = idFilter.getIdsList();
    final Function<EntityId, Integer> transformer = new EntityIdUnpacker<>(int.class);
    final Collection<Integer> intIdValues = transform(idValues, transformer);
    assertSize(2, idValues);
    assertThat(intIdValues, containsInAnyOrder(id1, id2));
}
Also used : EntityId(io.spine.client.EntityId) Target(io.spine.client.Target) Query(io.spine.client.Query) EntityIdFilter(io.spine.client.EntityIdFilter) EntityFilters(io.spine.client.EntityFilters) Test(org.junit.Test)

Example 3 with Query

use of io.spine.client.Query in project core-java by SpineEventEngine.

the class QueryBuilderShould method create_queries_with_type_only.

@Test
public void create_queries_with_type_only() {
    final Class<? extends Message> testEntityClass = TestEntity.class;
    final Query query = factory().query().select(testEntityClass).build();
    assertNotNull(query);
    assertFalse(query.hasFieldMask());
    final Target target = query.getTarget();
    assertTrue(target.getIncludeAll());
    assertEquals(TypeName.of(testEntityClass).value(), target.getType());
}
Also used : TestEntity(io.spine.test.client.TestEntity) Target(io.spine.client.Target) Query(io.spine.client.Query) Test(org.junit.Test)

Example 4 with Query

use of io.spine.client.Query in project core-java by SpineEventEngine.

the class QueryBuilderShould method create_queries_with_multiple_params.

@Test
public void create_queries_with_multiple_params() {
    final String columnName1 = "myColumn";
    final Object columnValue1 = 42;
    final String columnName2 = "oneMore";
    final Object columnValue2 = newMessageId();
    final Query query = factory().query().select(TestEntity.class).where(eq(columnName1, columnValue1), eq(columnName2, columnValue2)).build();
    assertNotNull(query);
    final Target target = query.getTarget();
    assertFalse(target.getIncludeAll());
    final EntityFilters entityFilters = target.getFilters();
    final Map<String, Any> columnFilters = entityFilters.getColumnFilterMap();
    assertSize(2, columnFilters);
    final Any actualValue1 = columnFilters.get(columnName1);
    assertNotNull(actualValue1);
    final int actualGenericValue1 = TypeConverter.toObject(actualValue1, int.class);
    assertEquals(columnValue1, actualGenericValue1);
    final Any actualValue2 = columnFilters.get(columnName2);
    assertNotNull(actualValue2);
    final Message actualGenericValue2 = TypeConverter.toObject(actualValue2, ProjectId.class);
    assertEquals(columnValue2, actualGenericValue2);
}
Also used : Target(io.spine.client.Target) Query(io.spine.client.Query) Message(com.google.protobuf.Message) EntityFilters(io.spine.client.EntityFilters) Matchers.containsString(org.hamcrest.Matchers.containsString) Any(com.google.protobuf.Any) Test(org.junit.Test)

Example 5 with Query

use of io.spine.client.Query in project core-java by SpineEventEngine.

the class QueryServiceShould method return_error_if_query_failed_to_execute.

@Test
public void return_error_if_query_failed_to_execute() {
    when(projectDetailsRepository.loadAll()).thenThrow(RuntimeException.class);
    final Query query = Given.AQuery.readAllProjects();
    service.read(query, responseObserver);
    checkFailureResponse(responseObserver);
}
Also used : Query(io.spine.client.Query) Test(org.junit.Test)

Aggregations

Query (io.spine.client.Query)27 Test (org.junit.Test)23 Any (com.google.protobuf.Any)10 TenantAwareTest (io.spine.server.tenant.TenantAwareTest)8 Target (io.spine.client.Target)6 Customer (io.spine.test.commandservice.customer.Customer)6 Matchers.containsString (org.hamcrest.Matchers.containsString)6 FieldMask (com.google.protobuf.FieldMask)5 Version (io.spine.base.Version)5 EntityFilters (io.spine.client.EntityFilters)5 QueryResponse (io.spine.client.QueryResponse)4 Message (com.google.protobuf.Message)3 EntityId (io.spine.client.EntityId)3 TestEntity (io.spine.test.client.TestEntity)3 CustomerId (io.spine.test.commandservice.customer.CustomerId)3 TypeUrl (io.spine.type.TypeUrl)3 EntityIdFilter (io.spine.client.EntityIdFilter)2 StandStorage (io.spine.server.stand.StandStorage)2 Sets.newHashSet (com.google.common.collect.Sets.newHashSet)1 CanIgnoreReturnValue (com.google.errorprone.annotations.CanIgnoreReturnValue)1