@Test public void testStatisticDoesNotExistForFakeId() throws Exception { assertThat( "available statistics count of fake", historyService.createHistoricDecisionInstanceStatisticsQuery( NON_EXISTING).count(), is(0L)); assertThat( "available statistics elements of fake", historyService.createHistoricDecisionInstanceStatisticsQuery( NON_EXISTING).list().size(), is(0)); }
@Test public void testStatisticThrowsExceptionOnNullConstraintsCount() throws Exception { //expect thrown.expect(NullValueException.class); historyService.createHistoricDecisionInstanceStatisticsQuery(null).count(); }
@Test public void testStatisticForNotEvaluatedDRD() throws Exception { //when DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); HistoricDecisionInstanceStatisticsQuery statisticsQuery = historyService.createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()); //then assertThat("available statistics count", statisticsQuery.count(), is(0L)); assertThat("available statistics elements", statisticsQuery.list().size(), is(0)); } }
@Test public void testQueryAuthenticatedTenant() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .singleResult(); identityService.setAuthentication(USER_ID, null, Arrays.asList(TENANT_ONE)); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); }
@Test public void testQueryAuthenticatedTenant() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .singleResult(); identityService.setAuthentication(USER_ID, null, Arrays.asList(TENANT_ONE)); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); }
@Test public void testQueryNoAuthenticatedTenants() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .singleResult(); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(0L)); }
@Test public void testStatisticForChildDecisionEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey("season") .variables(Variables.createVariables().putValue(TEMPERATURE, 21)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); HistoricDecisionInstanceStatisticsQuery statisticsQuery = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()); //then assertThat(statisticsQuery.count(), is(1L)); assertThat(statisticsQuery.list().size(), is(1)); assertThat(statisticsQuery.list().get(0).getEvaluations(), is(1)); assertThat(statisticsQuery.list().get(0).getDecisionDefinitionKey(), is(notNullValue())); }
@Test public void testQueryNoAuthenticatedTenants() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .singleResult(); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(0L)); }
@Test public void testQueryDisabledTenantCheck() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .singleResult(); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); } }
@Test public void testQueryDisabledTenantCheck() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .singleResult(); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); }
@Test public void testStatisticForRootDecisionWithFakeInstanceConstraintEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 21).putValue(DAY_TYPE, WEEKEND)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); HistoricDecisionInstanceStatisticsQuery query = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()) .decisionInstanceId(NON_EXISTING); //then assertThat(query.count(), is(0L)); assertThat(query.list().size(), is(0)); }
@Test public void testStatisticForRootDecisionEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 21).putValue(DAY_TYPE, WEEKEND)) .evaluate(); decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 11).putValue(DAY_TYPE, WEEKEND)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); HistoricDecisionInstanceStatisticsQuery statisticsQuery = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()); //then assertThat(statisticsQuery.count(), is(3L)); assertThat(statisticsQuery.list().size(), is(3)); assertThat(statisticsQuery.list().get(0).getEvaluations(), is(2)); assertThat(statisticsQuery.list().get(0).getDecisionDefinitionKey(), is(notNullValue())); }
@Test public void testStatisticConstrainedToOneDRD() throws Exception { //given testRule.deploy(SCORE_DRG_DMN); //when decisionService.evaluateDecisionTableByKey("score-decision") .variables(Variables.createVariables().putValue("input", "john")) .evaluate(); decisionService.evaluateDecisionTableByKey("season") .variables(Variables.createVariables().putValue(TEMPERATURE, 21)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService .createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionName("Score") .singleResult(); HistoricDecisionInstanceStatisticsQuery statisticsQuery = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()); //then assertThat(statisticsQuery.count(), is(1L)); assertThat(statisticsQuery.list().size(), is(1)); assertThat(statisticsQuery.list().get(0).getEvaluations(), is(1)); assertThat(statisticsQuery.list().get(0).getDecisionDefinitionKey(), is(notNullValue())); }
@Test public void testStatisticForRootDecisionWithInstanceConstraintEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 21).putValue(DAY_TYPE, WEEKEND)) .evaluate(); decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 11).putValue(DAY_TYPE, WEEKEND)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); String decisionInstanceId = engineRule.getHistoryService() .createHistoricDecisionInstanceQuery() .decisionRequirementsDefinitionId(decisionRequirementsDefinition.getId()) .rootDecisionInstancesOnly() .list() .get(0) .getId(); HistoricDecisionInstanceStatisticsQuery query = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()) .decisionInstanceId(decisionInstanceId); //then assertThat(query.count(), is(3L)); assertThat(query.list().size(), is(3)); assertThat(query.list().get(0).getEvaluations(), is(1)); assertThat(query.list().get(0).getDecisionDefinitionKey(), is(notNullValue())); }
@Test public void testStatisticForRootDecisionWithNullInstanceConstraintEvaluation() throws Exception { //when decisionService.evaluateDecisionTableByKey(DISH_DECISION) .variables(Variables.createVariables().putValue(TEMPERATURE, 21).putValue(DAY_TYPE, WEEKEND)) .evaluate(); DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); //when HistoricDecisionInstanceStatisticsQuery query = historyService .createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()) .decisionInstanceId(null); //then try { query.count(); } catch (NullValueException e) { //expected } try { query.list(); } catch (NullValueException e) { //expected } }
@Test public void testStatisticDoesNotExistForFakeId() throws Exception { assertThat( "available statistics count of fake", historyService.createHistoricDecisionInstanceStatisticsQuery( NON_EXISTING).count(), is(0L)); assertThat( "available statistics elements of fake", historyService.createHistoricDecisionInstanceStatisticsQuery( NON_EXISTING).list().size(), is(0)); }
@Test public void testStatisticForNotEvaluatedDRD() throws Exception { //when DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery().singleResult(); HistoricDecisionInstanceStatisticsQuery statisticsQuery = historyService.createHistoricDecisionInstanceStatisticsQuery( decisionRequirementsDefinition.getId()); //then assertThat("available statistics count", statisticsQuery.count(), is(0L)); assertThat("available statistics elements", statisticsQuery.list().size(), is(0)); } }
@Test public void testQueryAuthenticatedTenant() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .singleResult(); identityService.setAuthentication(USER_ID, null, Arrays.asList(TENANT_ONE)); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); }
@Test public void testQueryDisabledTenantCheck() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .singleResult(); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); } }
@Test public void testQueryDisabledTenantCheck() { DecisionRequirementsDefinition decisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .tenantIdIn(TENANT_ONE) .singleResult(); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); identityService.setAuthentication(USER_ID, null, null); HistoricDecisionInstanceStatisticsQuery query = historyService. createHistoricDecisionInstanceStatisticsQuery(decisionRequirementsDefinition.getId()); assertThat(query.count(), is(3L)); }