@Test public void querySortingAsc() { // exclude definitions without tenant id because of database-specific ordering List<DecisionRequirementsDefinition> DecisionRequirementsDefinitions = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(DecisionRequirementsDefinitions.size(), is(2)); assertThat(DecisionRequirementsDefinitions.get(0).getTenantId(), is(TENANT_ONE)); assertThat(DecisionRequirementsDefinitions.get(1).getTenantId(), is(TENANT_TWO)); }
@Test public void orderByDecisionRequirementsDefinitionCategory() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionCategory().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getCategory(), is("test-drd-1")); assertThat(decisionRequirementsDefinitions.get(1).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(2).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(3).getCategory(), is("xyz_")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionCategory().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getCategory(), is("xyz_")); assertThat(decisionRequirementsDefinitions.get(1).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(2).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(3).getCategory(), is("test-drd-1")); }
@Test public void orderByDeploymentId() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDeploymentId().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(1).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(2).getDeploymentId(), is(secondDeploymentId)); assertThat(decisionRequirementsDefinitions.get(3).getDeploymentId(), is(thirdDeploymentId)); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDeploymentId().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getDeploymentId(), is(thirdDeploymentId)); assertThat(decisionRequirementsDefinitions.get(1).getDeploymentId(), is(secondDeploymentId)); assertThat(decisionRequirementsDefinitions.get(2).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(3).getDeploymentId(), is(firstDeploymentId)); }
@Test public void orderByDecisionRequirementsDefinitionKey() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionKey().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(1).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(2).getKey(), is("score")); assertThat(decisionRequirementsDefinitions.get(3).getKey(), is("xyz")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionKey().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getKey(), is("xyz")); assertThat(decisionRequirementsDefinitions.get(1).getKey(), is("score")); assertThat(decisionRequirementsDefinitions.get(2).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(3).getKey(), is("dish")); }
@Test public void orderByDecisionRequirementsDefinitionName() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(1).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(2).getName(), is("Score")); assertThat(decisionRequirementsDefinitions.get(3).getName(), is("Xyz")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getName(), is("Xyz")); assertThat(decisionRequirementsDefinitions.get(1).getName(), is("Score")); assertThat(decisionRequirementsDefinitions.get(2).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(3).getName(), is("Dish")); }
@Test public void orderByDecisionRequirementsDefinitionVersion() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionVersion().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(1).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(2).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(3).getVersion(), is(2)); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionVersion().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getVersion(), is(2)); assertThat(decisionRequirementsDefinitions.get(1).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(2).getVersion(), is(1)); }
executeAndVerifySorting("id", "asc", Status.OK); inOrder.verify(mockedQuery).orderByDecisionRequirementsDefinitionId(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc(); inOrder.verify(mockedQuery).asc();
@Test public void queryByLatestWithTenantIds() { // deploy a second version for tenant one testRule.deployForTenant(TENANT_ONE, DMN); DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY) .latestVersion() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc(); // one definition for each tenant assertThat(query.count(), is(2L)); Map<String, DecisionRequirementsDefinition> definitionsForTenant = getDecisionRequirementsDefinitionsForTenant(query.list()); assertThat(definitionsForTenant.get(TENANT_ONE).getVersion(), is(2)); assertThat(definitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); }
@Deployment( resources = { DRD_SCORE_RESOURCE, DRD_DISH_RESOURCE }) @Test public void multipleDrdDeployment() { // there should be two decision requirements definitions List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService .createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionCategory() .asc() .list(); assertEquals(2, decisionRequirementsDefinitions.size()); assertEquals("score", decisionRequirementsDefinitions.get(0).getKey()); assertEquals("dish", decisionRequirementsDefinitions.get(1).getKey()); // the decisions should have a reference to the decision requirements definition List<DecisionDefinition> decisions = repositoryService.createDecisionDefinitionQuery().orderByDecisionDefinitionCategory().asc().list(); assertEquals(5, decisions.size()); assertEquals(decisionRequirementsDefinitions.get(0).getId(), decisions.get(0).getDecisionRequirementsDefinitionId()); assertEquals(decisionRequirementsDefinitions.get(0).getId(), decisions.get(1).getDecisionRequirementsDefinitionId()); assertEquals(decisionRequirementsDefinitions.get(1).getId(), decisions.get(2).getDecisionRequirementsDefinitionId()); assertEquals(decisionRequirementsDefinitions.get(1).getId(), decisions.get(3).getDecisionRequirementsDefinitionId()); assertEquals(decisionRequirementsDefinitions.get(1).getId(), decisions.get(4).getDecisionRequirementsDefinitionId()); }
@Test public void orderByDecisionRequirementsDefinitionId() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionId().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getId(), startsWith("dish:1")); assertThat(decisionRequirementsDefinitions.get(1).getId(), startsWith("dish:2")); assertThat(decisionRequirementsDefinitions.get(2).getId(), startsWith("score:1")); assertThat(decisionRequirementsDefinitions.get(3).getId(), startsWith("xyz:1")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionId().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getId(), startsWith("xyz:1")); assertThat(decisionRequirementsDefinitions.get(1).getId(), startsWith("score:1")); assertThat(decisionRequirementsDefinitions.get(2).getId(), startsWith("dish:2")); assertThat(decisionRequirementsDefinitions.get(3).getId(), startsWith("dish:1")); }
@Test public void queryByDecisionRequirementsDefinitionId() { testRule.deploy(DRD_DISH_RESOURCE, DRD_SCORE_RESOURCE); List<DecisionRequirementsDefinition> drds = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().asc().list(); String dishDrdId = drds.get(0).getId(); String scoreDrdId = drds.get(1).getId(); DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery(); verifyQueryResults(query.decisionRequirementsDefinitionId("non existing"), 0); verifyQueryResults(query.decisionRequirementsDefinitionId(dishDrdId), 3); verifyQueryResults(query.decisionRequirementsDefinitionId(scoreDrdId), 2); }
@Test public void querySortingAsc() { // exclude definitions without tenant id because of database-specific ordering List<DecisionRequirementsDefinition> DecisionRequirementsDefinitions = repositoryService .createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(DecisionRequirementsDefinitions.size(), is(2)); assertThat(DecisionRequirementsDefinitions.get(0).getTenantId(), is(TENANT_ONE)); assertThat(DecisionRequirementsDefinitions.get(1).getTenantId(), is(TENANT_TWO)); }
@Test public void orderByDecisionRequirementsDefinitionKey() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionKey().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(1).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(2).getKey(), is("score")); assertThat(decisionRequirementsDefinitions.get(3).getKey(), is("xyz")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionKey().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getKey(), is("xyz")); assertThat(decisionRequirementsDefinitions.get(1).getKey(), is("score")); assertThat(decisionRequirementsDefinitions.get(2).getKey(), is("dish")); assertThat(decisionRequirementsDefinitions.get(3).getKey(), is("dish")); }
@Test public void orderByDecisionRequirementsDefinitionVersion() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionVersion().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(1).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(2).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(3).getVersion(), is(2)); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionVersion().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getVersion(), is(2)); assertThat(decisionRequirementsDefinitions.get(1).getVersion(), is(1)); assertThat(decisionRequirementsDefinitions.get(2).getVersion(), is(1)); }
@Test public void orderByDecisionRequirementsDefinitionName() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(1).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(2).getName(), is("Score")); assertThat(decisionRequirementsDefinitions.get(3).getName(), is("Xyz")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getName(), is("Xyz")); assertThat(decisionRequirementsDefinitions.get(1).getName(), is("Score")); assertThat(decisionRequirementsDefinitions.get(2).getName(), is("Dish")); assertThat(decisionRequirementsDefinitions.get(3).getName(), is("Dish")); }
@Test public void orderByDeploymentId() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDeploymentId().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(1).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(2).getDeploymentId(), is(secondDeploymentId)); assertThat(decisionRequirementsDefinitions.get(3).getDeploymentId(), is(thirdDeploymentId)); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDeploymentId().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getDeploymentId(), is(thirdDeploymentId)); assertThat(decisionRequirementsDefinitions.get(1).getDeploymentId(), is(secondDeploymentId)); assertThat(decisionRequirementsDefinitions.get(2).getDeploymentId(), is(firstDeploymentId)); assertThat(decisionRequirementsDefinitions.get(3).getDeploymentId(), is(firstDeploymentId)); }
@Test public void orderByDecisionRequirementsDefinitionCategory() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionCategory().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getCategory(), is("test-drd-1")); assertThat(decisionRequirementsDefinitions.get(1).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(2).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(3).getCategory(), is("xyz_")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionCategory().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getCategory(), is("xyz_")); assertThat(decisionRequirementsDefinitions.get(1).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(2).getCategory(), is("test-drd-2")); assertThat(decisionRequirementsDefinitions.get(3).getCategory(), is("test-drd-1")); }
@Test public void queryByLatestWithTenantIds() { // deploy a second version for tenant one testRule.deployForTenant(TENANT_ONE, DMN); DecisionRequirementsDefinitionQuery query = repositoryService .createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionKey(DECISION_REQUIREMENTS_DEFINITION_KEY) .latestVersion() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc(); // one definition for each tenant assertThat(query.count(), is(2L)); Map<String, DecisionRequirementsDefinition> definitionsForTenant = getDecisionRequirementsDefinitionsForTenant(query.list()); assertThat(definitionsForTenant.get(TENANT_ONE).getVersion(), is(2)); assertThat(definitionsForTenant.get(TENANT_TWO).getVersion(), is(1)); }
@Test public void queryByDecisionRequirementsDefinitionId() { testRule.deploy(DRD_DISH_RESOURCE, DRD_SCORE_RESOURCE); List<DecisionRequirementsDefinition> drds = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionName().asc().list(); String dishDrdId = drds.get(0).getId(); String scoreDrdId = drds.get(1).getId(); DecisionDefinitionQuery query = repositoryService.createDecisionDefinitionQuery(); verifyQueryResults(query.decisionRequirementsDefinitionId("non existing"), 0); verifyQueryResults(query.decisionRequirementsDefinitionId(dishDrdId), 3); verifyQueryResults(query.decisionRequirementsDefinitionId(scoreDrdId), 2); }
@Test public void orderByDecisionRequirementsDefinitionId() { List<DecisionRequirementsDefinition> decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionId().asc().list(); assertThat(decisionRequirementsDefinitions.size(), is(4)); assertThat(decisionRequirementsDefinitions.get(0).getId(), startsWith("dish:1")); assertThat(decisionRequirementsDefinitions.get(1).getId(), startsWith("dish:2")); assertThat(decisionRequirementsDefinitions.get(2).getId(), startsWith("score:1")); assertThat(decisionRequirementsDefinitions.get(3).getId(), startsWith("xyz:1")); decisionRequirementsDefinitions = repositoryService.createDecisionRequirementsDefinitionQuery() .orderByDecisionRequirementsDefinitionId().desc().list(); assertThat(decisionRequirementsDefinitions.get(0).getId(), startsWith("xyz:1")); assertThat(decisionRequirementsDefinitions.get(1).getId(), startsWith("score:1")); assertThat(decisionRequirementsDefinitions.get(2).getId(), startsWith("dish:2")); assertThat(decisionRequirementsDefinitions.get(3).getId(), startsWith("dish:1")); }