public static CaseExecutionDto fromCaseExecution(CaseExecution caseExecution) { CaseExecutionDto dto = new CaseExecutionDto(); dto.id = caseExecution.getId(); dto.caseInstanceId = caseExecution.getCaseInstanceId(); dto.caseDefinitionId = caseExecution.getCaseDefinitionId(); dto.activityId = caseExecution.getActivityId(); dto.activityName = caseExecution.getActivityName(); dto.activityType = caseExecution.getActivityType(); dto.activityDescription = caseExecution.getActivityDescription(); dto.parentId = caseExecution.getParentId(); dto.tenantId = caseExecution.getTenantId(); dto.required = caseExecution.isRequired(); dto.active = caseExecution.isActive(); dto.enabled = caseExecution.isEnabled(); dto.disabled = caseExecution.isDisabled(); return dto; }
@Override public void checkReadCaseInstance(CaseExecution caseExecution) { if (caseExecution != null && !getTenantManager().isAuthenticatedTenant(caseExecution.getTenantId())) { throw LOG.exceptionCommandWithUnauthorizedTenant("get the case execution '" + caseExecution.getId() + "'"); } }
public static DelegateVariableInstanceSpec fromCaseExecution(CaseExecution caseExecution) { DelegateVariableInstanceSpec spec = new DelegateVariableInstanceSpec(); spec.expectedCaseExecutionId = caseExecution.getId(); spec.expectedCaseInstanceId = caseExecution.getCaseInstanceId(); spec.expectedSourceExecution = caseExecution; return spec; }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/emptyStageWithManualActivationCase.cmmn"}) public void testHistoricCaseActivityInstanceProperties() { String activityId = "PI_Stage_1"; createCaseInstance(); CaseExecution stage = queryCaseExecutionByActivityId(activityId); HistoricCaseActivityInstance historicStage = queryHistoricActivityCaseInstance(activityId); assertEquals(stage.getId(), historicStage.getId()); assertEquals(stage.getParentId(), historicStage.getParentCaseActivityInstanceId()); assertEquals(stage.getCaseDefinitionId(), historicStage.getCaseDefinitionId()); assertEquals(stage.getCaseInstanceId(), historicStage.getCaseInstanceId()); assertEquals(stage.getActivityId(), historicStage.getCaseActivityId()); assertEquals(stage.getActivityName(), historicStage.getCaseActivityName()); assertEquals(stage.getActivityType(), historicStage.getCaseActivityType()); manualStart(stage.getId()); historicStage = queryHistoricActivityCaseInstance(activityId); assertNotNull(historicStage.getEndTime()); }
@Override public String getProperty(CaseExecution obj) { return obj.getId(); } });
@Override protected String toString(A caseExecution) { if (caseExecution != null) { return !actual.getCaseInstanceId().equals(actual.getId()) ? String.format( "%s {id='%s', activityId='%s' }", caseExecution.getActivityType(), caseExecution.getId(), caseExecution.getActivityId(), caseExecution.getCaseInstanceId()) : String.format( "%s {id='%s', activityId='%s'" + (((CaseInstance) caseExecution).getBusinessKey() != null ? ", businessKey='%s'}" : "}"), CaseInstance.class.getSimpleName(), caseExecution.getId(), caseExecution.getActivityId(), ((CaseInstance) caseExecution).getBusinessKey()); } return null; }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/cmm10/Cmmn10CompatibilityTest.testPlanItemEntryCriterion.cmmn") public void testPlanItemEntryCriterion() { // given createCaseInstanceByKey("case"); String humanTask = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask); // then assertTrue(queryCaseExecutionByActivityId("PI_HumanTask_2").isActive()); }
String firstHumanTaskId = firstHumanTask.getId(); assertTrue(firstHumanTask.isActive()); String stageId = stage.getId(); assertTrue(stage.isAvailable()); assertTrue(stage.isAvailable()); assertTrue(stage.isActive()); assertEquals(stageId, child.getParentId());
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/sentry/variableonpart/SentryVariableOnPartEntryCriteriaTest.testMultipleOnPartsInStage.cmmn"}) public void testMultipleOnPartsInStages() { String caseInstanceId = caseService.createCaseInstanceByKey("Case_1").getId(); caseService.setVariable(caseInstanceId, "variable_1", 101); CaseExecution humanTask3 = queryCaseExecutionByActivityId("HumanTask_3"); assertTrue(humanTask3.isEnabled()); CaseExecution humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); // Not enabled as the sentry waits for human task 1 to complete assertFalse(humanTask2.isEnabled()); CaseExecution humanTask1 = queryCaseExecutionByActivityId("HumanTask_1"); manualStart(humanTask1.getId()); complete(humanTask1.getId()); humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); assertTrue(humanTask2.isEnabled()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/activation/ManualActivationRuleTest.testActivationWithoutManualActivationConditionDefined.cmmn") public void testActivationWithoutManualActivationConditionDefined() { caseService.createCaseInstanceByKey("case"); CaseExecution taskExecution = caseService.createCaseExecutionQuery().activityId("PI_HumanTask_1").singleResult(); assertThat(taskExecution,is(notNullValue())); assertThat(taskExecution.isEnabled(),is(true)); assertThat("Human Task is not active, when ManualActivation's condition is empty",taskExecution.isActive(),is(false)); }
public static void printCaseStatusAndTasklist(ProcessEngine processEngine) { System.out.println("Case Status:"); CaseService caseService = processEngine.getCaseService(); List<CaseExecution> caseExecutions = caseService.createCaseExecutionQuery().list(); for (CaseExecution caseExecution : caseExecutions) { if (caseExecution.isActive()) { System.out.println(" active: " + caseExecution.getActivityName() + " (" + caseExecution.getActivityType() + ")"); } else if (caseExecution.isEnabled()) { System.out.println(" enabled: " + caseExecution.getActivityName() + " (" + caseExecution.getActivityType() + ")"); } } HistoricCaseActivityInstanceQuery historicCaseActivityInstanceQuery = processEngine.getHistoryService().createHistoricCaseActivityInstanceQuery().ended(); System.out.println("Case History (" + historicCaseActivityInstanceQuery.count() + "):"); List<HistoricCaseActivityInstance> completedCaseActivities = historicCaseActivityInstanceQuery.list(); for (HistoricCaseActivityInstance completedCaseActivity : completedCaseActivities) { System.out.println(" ended: " + completedCaseActivity.getCaseActivityName() + " (" + completedCaseActivity.getCaseActivityType() + ")"); } TaskQuery taskQuery = processEngine.getTaskService().createTaskQuery(); System.out.println("Task List (" + taskQuery.count() + "):"); List<Task> tasklist = taskQuery.list(); for (Task task : tasklist) { System.out.println(" " + (task.getAssignee() == null ? "unassigned" : task.getAssignee()) + ": " + task.getName()); } System.out.println(); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/sentry/variableonpart/SentryVariableOnPartEntryCriteriaTest.testSentryShouldNotBeEvaluatedAfterStageComplete.cmmn"}) public void testEvaluationOfNotAffectedSentries() { caseService.createCaseInstanceByKey("Case_1").getId(); String stageExecutionId = queryCaseExecutionByActivityId("Stage_1").getId(); CaseExecution humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); assertTrue(humanTask2.isAvailable()); caseService.setVariableLocal(stageExecutionId, "value", 99); humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); // if part is not satisfied assertFalse(humanTask2.isEnabled()); caseService.setVariableLocal(stageExecutionId, "value", 101); humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); assertTrue(humanTask2.isEnabled()); }
/** * Retrieve a child {@link CaseExecution} currently available in the context of * the actual caseExecution under test of this AbstractCaseAssert. The query is * automatically narrowed down to the actual caseExecution under test of this * assertion. * * @param query CaseExecutionQuery further narrowing down the search for * caseExecutions. The query is automatically narrowed down to the * actual 'parent' CaseExecution under test of this assertion. * @return the only CaseExecution resulting from the given search. A 'null' * CaseExecution in case no such CaseExecution is available. * @throws org.camunda.bpm.engine.ProcessEngineException in case more than * one CaseExecution is delivered by the query (after being narrowed * to the actual 'parent' CaseExecution) * @see #descendantCaseExecution to find grandchilds and other descendants, too. */ protected CaseExecutionAssert caseExecution(final CaseExecutionQuery query) { CaseExecutionAssert caseExecutionAssert = descendantCaseExecution(query); CaseExecution caseExecution = caseExecutionAssert.getActual(); if (caseExecution != null) Assertions.assertThat(caseExecution.getParentId()).isEqualTo(actual.getId()); return new CaseExecutionAssert(engine, caseExecution); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/sentry/SentryExitCriteriaTest.testExitCriteriaOnCasePlanModel.cmmn"}) public void testExitCriteriaOnCasePlanModel() { // given String caseInstanceId = createCaseInstance().getId(); CaseExecution firstHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_1"); String firstHumanTaskId = firstHumanTask.getId(); assertTrue(firstHumanTask.isActive()); // when complete(firstHumanTaskId); // then CaseExecution caseInstance = queryCaseExecutionById(caseInstanceId); assertTrue(caseInstance.isTerminated()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/cmmn/oneProcessTaskCaseWithManualActivation.cmmn"}) public void testActivityType() { // given createCaseInstanceByKey(ONE_PROCESS_TASK_CASE).getId(); // when CaseExecution processTask = queryCaseExecutionByActivityId(PROCESS_TASK); // then assertEquals("processTask", processTask.getActivityType()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/sentry/variableonpart/SentryVariableOnPartEntryCriteriaTest.testStagesScope.cmmn"}) public void testStagesScope() { String caseInstanceId = caseService.createCaseInstanceByKey("Case_1").getId(); caseService.setVariable(caseInstanceId, "variable_1", "aVariable"); CaseExecution humanTask1 = queryCaseExecutionByActivityId("HumanTask_1"); assertTrue(humanTask1.isEnabled()); CaseExecution humanTask2 = queryCaseExecutionByActivityId("HumanTask_2"); assertTrue(humanTask2.isEnabled()); CaseExecution humanTask3 = queryCaseExecutionByActivityId("HumanTask_3"); assertTrue(humanTask3.isEnabled()); }
@Deployment(resources = "org/camunda/bpm/engine/test/cmmn/cmm10/Cmmn10CompatibilityTest.testCasePlanModelExitCriterion.cmmn") public void testCasePlanModelExitCriterion() { // given String caseInstanceId = createCaseInstanceByKey("case").getId(); String humanTask = queryCaseExecutionByActivityId("PI_HumanTask_1").getId(); // when complete(humanTask); // then assertTrue(queryCaseExecutionById(caseInstanceId).isTerminated()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/cmmn/sentry/SentryEntryCriteriaTest.testEnableByInstanceCreation.cmmn"}) public void testEnableByInstanceCreation() { // given + when createCaseInstance(); // then CaseExecution firstHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_1"); assertTrue(firstHumanTask.isActive()); CaseExecution secondHumanTask = queryCaseExecutionByActivityId("PI_HumanTask_2"); assertTrue(secondHumanTask.isActive()); }
public void testQuerySortingAsc() { // exclude case executions without tenant id because of database-specific ordering List<CaseExecution> caseExecutions = caseService.createCaseExecutionQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(caseExecutions.size(), is(4)); assertThat(caseExecutions.get(0).getTenantId(), is(TENANT_ONE)); assertThat(caseExecutions.get(1).getTenantId(), is(TENANT_ONE)); assertThat(caseExecutions.get(2).getTenantId(), is(TENANT_TWO)); assertThat(caseExecutions.get(3).getTenantId(), is(TENANT_TWO)); }
@Deployment(resources={"org/camunda/bpm/engine/test/api/cmmn/oneTaskCase.cmmn"}) public void testTerminateActiveCaseInstanceNonFluent() { // given: String caseDefinitionId = repositoryService .createCaseDefinitionQuery() .singleResult() .getId(); String caseInstanceId = caseService .withCaseDefinition(caseDefinitionId) .create() .getId(); assertNotNull(queryCaseExecutionByActivityId("CasePlanModel_1")); CaseExecution taskExecution = queryCaseExecutionByActivityId("PI_HumanTask_1"); assertTrue(taskExecution.isActive()); caseService.terminateCaseExecution(caseInstanceId); CaseExecution caseInstance = queryCaseExecutionByActivityId("CasePlanModel_1"); assertTrue(caseInstance.isTerminated()); assertNull(queryCaseExecutionByActivityId("PI_HumanTask_1")); }