@Test public void queryByTenantIdsIncludeDefinitionsWithoutTenantId() { DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(2L)); query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(2L)); query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(3L)); }
@Test public void queryAuthenticatedTenant() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery(); assertThat(query.count(), is(2L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L)); assertThat(query.tenantIdIn(TENANT_TWO).count(), is(0L)); assertThat(query.tenantIdIn(TENANT_ONE, TENANT_TWO).includeDecisionRequirementsDefinitionsWithoutTenantId().count(), is(2L)); }
@Test public void queryByLatestWithTenantIdsIncludeDefinitionsWithoutTenantId() { // deploy a second version without tenant id testRule.deploy(DMN); // deploy a third version for tenant one testRule.deployForTenant(TENANT_ONE, DMN); testRule.deployForTenant(TENANT_ONE, DMN); DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY) .latestVersion() .tenantIdIn(TENANT_ONE, TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(3L)); Map<String, DecisionRequirementsDefinition> definitionsForTenant = getDecisionRequirementsDefinitionsForTenant(query.list()); assertThat(definitionsForTenant.get(TENANT_ONE).getVersion(), is(3)); assertThat(definitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); assertThat(definitionsForTenant.get(null).getVersion(), is(2)); }
@Test public void testDecisionRequirementsDefinitionTenantIdIncludeDefinitionsWithoutTenantid() { List<DecisionRequirementsDefinition> decisionDefinitions = Arrays.asList( MockProvider.mockDecisionRequirementsDefinition().tenantId(null).build(), MockProvider.mockDecisionRequirementsDefinition().tenantId(MockProvider.EXAMPLE_TENANT_ID).build()); mockedQuery = createMockQuery(decisionDefinitions); Response response = given() .queryParam("tenantIdIn", MockProvider.EXAMPLE_TENANT_ID) .queryParam("includeDecisionRequirementsDefinitionsWithoutTenantId", true) .then().expect() .statusCode(Status.OK.getStatusCode()) .when() .get(DECISION_REQUIREMENTS_DEFINITION_QUERY_URL); verify(mockedQuery).tenantIdIn(MockProvider.EXAMPLE_TENANT_ID); verify(mockedQuery).includeDecisionRequirementsDefinitionsWithoutTenantId(); verify(mockedQuery).list(); String content = response.asString(); List<String> definitions = from(content).getList(""); assertThat(definitions).hasSize(2); String returnedTenantId1 = from(content).getString("[0].tenantId"); String returnedTenantId2 = from(content).getString("[1].tenantId"); assertThat(returnedTenantId1).isEqualTo(null); assertThat(returnedTenantId2).isEqualTo(MockProvider.EXAMPLE_TENANT_ID); }
@Test public void queryByTenantIdsIncludeDefinitionsWithoutTenantId() { DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(2L)); query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(2L)); query = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(3L)); }
@Test public void queryAuthenticatedTenant() { identityService.setAuthentication("user", null, Arrays.asList(TENANT_ONE)); DecisionRequirementsDefinitionQuery query = repositoryService.createDecisionRequirementsDefinitionQuery(); assertThat(query.count(), is(2L)); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(1L)); assertThat(query.tenantIdIn(TENANT_TWO).count(), is(0L)); assertThat(query.tenantIdIn(TENANT_ONE, TENANT_TWO).includeDecisionRequirementsDefinitionsWithoutTenantId().count(), is(2L)); }
@Test public void queryByLatestWithTenantIdsIncludeDefinitionsWithoutTenantId() { // deploy a second version without tenant id testRule.deploy(DMN); // deploy a third version for tenant one testRule.deployForTenant(TENANT_ONE, DMN); testRule.deployForTenant(TENANT_ONE, DMN); DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY) .latestVersion() .tenantIdIn(TENANT_ONE, TENANT_TWO) .includeDecisionRequirementsDefinitionsWithoutTenantId(); assertThat(query.count(), is(3L)); Map<String, DecisionRequirementsDefinition> definitionsForTenant = getDecisionRequirementsDefinitionsForTenant(query.list()); assertThat(definitionsForTenant.get(TENANT_ONE).getVersion(), is(3)); assertThat(definitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); assertThat(definitionsForTenant.get(null).getVersion(), is(2)); }