@Override public List<ProcessDefinition> getDeployedProcessDefinitions() { return deployment.getDeployedProcessDefinitions(); }
@Override public List<ProcessDefinition> getDeployedProcessDefinitions() { return deployment.getDeployedProcessDefinitions(); }
protected String deployProcess(String resourcePath) { List<ProcessDefinition> deployedProcessDefinitions = testRule.deploy(resourcePath).getDeployedProcessDefinitions(); assertEquals(1, deployedProcessDefinitions.size()); return deployedProcessDefinitions.get(0).getId(); }
protected String deployModel(BpmnModelInstance model) { List<ProcessDefinition> deployedProcessDefinitions = testRule.deploy(model).getDeployedProcessDefinitions(); assertEquals(1, deployedProcessDefinitions.size()); String definitionId2 = deployedProcessDefinitions.get(0).getId(); return definitionId2; } }
protected String deployProcess(String resourcePath) { List<ProcessDefinition> deployedProcessDefinitions = testRule.deploy(resourcePath).getDeployedProcessDefinitions(); assertEquals(1, deployedProcessDefinitions.size()); return deployedProcessDefinitions.get(0).getId(); }
protected String deployModel(BpmnModelInstance model) { List<ProcessDefinition> deployedProcessDefinitions = testRule.deploy(model).getDeployedProcessDefinitions(); assertEquals(1, deployedProcessDefinitions.size()); String definitionId2 = deployedProcessDefinitions.get(0).getId(); return definitionId2; } }
@Test public void shouldPointToItselfBySubmittingStartForm() { // given DeploymentWithDefinitions deployment = testRule.deploy(CALLED_PROCESS); String processDefinitionId = deployment.getDeployedProcessDefinitions().get(0).getId(); Map<String, Object> properties = new HashMap<>(); // when ProcessInstance processInstance = formService.submitStartForm(processDefinitionId, properties); // assume assertThat(processInstance.getRootProcessInstanceId(), notNullValue()); // then assertThat(processInstance.getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test public void shouldResolveHistoricDetailByFormProperty() { // given testRule.deploy(CALLING_PROCESS); DeploymentWithDefinitions deployment = testRule.deploy(CALLED_PROCESS); String processDefinitionId = deployment.getDeployedProcessDefinitions().get(0).getId(); Map<String, Object> properties = new HashMap<>(); properties.put("aFormProperty", "aFormPropertyValue"); // when ProcessInstance processInstance = formService.submitStartForm(processDefinitionId, properties); HistoricDetail historicDetail = historyService.createHistoricDetailQuery().formFields().singleResult(); // assume assertThat(historicDetail, notNullValue()); // then assertThat(historicDetail.getRootProcessInstanceId(), is(processInstance.getProcessInstanceId())); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithoutIdTest.bpmn"}) public void testProcessDefinitionWithoutIdField() { // given ProcessDefinition sourceProcessDefinition = testHelper.deploy("org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithoutIdTest.bpmn").getDeployedProcessDefinitions().get(0); ProcessDefinition targetProcessDefinition = testHelper.deploy("org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithoutIdTest.bpmn").getDeployedProcessDefinitions().get(0); //external task is not mapped to new external task MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); List<MigrationInstruction> instructions = migrationPlan.getInstructions(); // test that the messageEventDefinition without an id isn't included assertEquals(2, instructions.size()); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithoutIdTest.bpmn"}) public void testProcessDefinitionWithIdField() { // given ProcessDefinition sourceProcessDefinition = testHelper.deploy("org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithIdTest.bpmn").getDeployedProcessDefinitions().get(0); ProcessDefinition targetProcessDefinition = testHelper.deploy("org/camunda/bpm/engine/test/api/externaltask/ExternalTaskWithIdTest.bpmn").getDeployedProcessDefinitions().get(0); //external task is not mapped to new external task MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); List<MigrationInstruction> instructions = migrationPlan.getInstructions(); assertEquals(2, instructions.size()); }
@Test public void shouldResolveHistoricDetailByFormProperty() { // given ClockUtil.setCurrentTime(START_DATE); DeploymentWithDefinitions deployment = testRule.deploy(CALLING_PROCESS); testRule.deploy(CALLED_PROCESS); String processDefinitionId = deployment.getDeployedProcessDefinitions().get(0).getId(); Map<String, Object> properties = new HashMap<>(); properties.put("aFormProperty", "aFormPropertyValue"); // when formService.submitStartForm(processDefinitionId, properties); HistoricDetail historicDetail = historyService.createHistoricDetailQuery().formFields().singleResult(); // assume assertThat(historicDetail, notNullValue()); Date removalTime = addDays(START_DATE, 5); // then assertThat(historicDetail.getRemovalTime(), is(removalTime)); }
@Test public void createModificationWithNonExistingProcessDefinitionId() { DeploymentWithDefinitions deployment = testRule.deploy(instance); deployment.getDeployedProcessDefinitions().get(0); List<String> processInstanceIds = helper.startInstances("process1", 2); try { runtimeService.createModification("foo").cancelAllForActivity("activityId").processInstanceIds(processInstanceIds).executeAsync(); fail("Should not succed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("processDefinition is null")); } }
@Test public void createModificationWithNotMatchingProcessDefinitionId() { DeploymentWithDefinitions deployment = testRule.deploy(instance); deployment.getDeployedProcessDefinitions().get(0); List<String> processInstanceIds = helper.startInstances("process1", 2); try { runtimeService.createModification("foo").cancelAllForActivity("activityId").processInstanceIds(processInstanceIds).execute(); fail("Should not succed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("processDefinition is null")); } }
@Test public void testDeployAndGetDRDDefinition() throws Exception { // when decision requirement graph is deployed DeploymentWithDefinitions deployment = testRule.deploy(DRD_SCORE_RESOURCE); // then deployment contains definitions List<DecisionDefinition> deployedDecisionDefinitions = deployment.getDeployedDecisionDefinitions(); assertEquals(2, deployedDecisionDefinitions.size()); List<DecisionRequirementsDefinition> deployedDecisionRequirementsDefinitions = deployment.getDeployedDecisionRequirementsDefinitions(); assertEquals(1, deployedDecisionRequirementsDefinitions.size()); assertNull(deployment.getDeployedProcessDefinitions()); assertNull(deployment.getDeployedCaseDefinitions()); // and persisted definitions are equal to deployed definitions DecisionRequirementsDefinition persistedDecisionRequirementsDefinition = repositoryService.createDecisionRequirementsDefinitionQuery() .decisionRequirementsDefinitionResourceName(DRD_SCORE_RESOURCE).singleResult(); assertEquals(persistedDecisionRequirementsDefinition.getId(), deployedDecisionRequirementsDefinitions.get(0).getId()); List<DecisionDefinition> persistedDecisionDefinitions = repositoryService.createDecisionDefinitionQuery().decisionDefinitionResourceName(DRD_SCORE_RESOURCE).list(); assertEquals(deployedDecisionDefinitions.size(), persistedDecisionDefinitions.size()); }
public void testDeployAndGetCaseDefinition() throws Exception { // given case model final CmmnModelInstance modelInstance = createCmmnModelInstance(); // when case model is deployed DeploymentWithDefinitions deployment = repositoryService.createDeployment() .addModelInstance("foo.cmmn", modelInstance).deployWithResult(); deploymentIds.add(deployment.getId()); // then deployment contains deployed case definition List<CaseDefinition> deployedCaseDefinitions = deployment.getDeployedCaseDefinitions(); assertEquals(1, deployedCaseDefinitions.size()); assertNull(deployment.getDeployedProcessDefinitions()); assertNull(deployment.getDeployedDecisionDefinitions()); assertNull(deployment.getDeployedDecisionRequirementsDefinitions()); // and persisted case definition is equal to deployed case definition CaseDefinition persistedCaseDefinition = repositoryService.createCaseDefinitionQuery().caseDefinitionResourceName("foo.cmmn").singleResult(); assertEquals(persistedCaseDefinition.getId(), deployedCaseDefinitions.get(0).getId()); }
public void testDeployNonExecutableProcess() throws Exception { // given non executable process definition final BpmnModelInstance modelInstance = Bpmn.createProcess("foo").startEvent().userTask().endEvent().done(); // when process model is deployed DeploymentWithDefinitions deployment = repositoryService.createDeployment() .addModelInstance("foo.bpmn", modelInstance).deployWithResult(); deploymentIds.add(deployment.getId()); // then deployment contains no deployed process definition assertNull(deployment.getDeployedProcessDefinitions()); // and there exist no persisted process definitions assertNull(repositoryService.createProcessDefinitionQuery() .processDefinitionResourceName("foo.bpmn") .singleResult()); }
@Test public void testBatchCreationWithProcessInstanceQuery() { int processInstanceCount = 15; DeploymentWithDefinitions deployment = testRule.deploy(instance); ProcessDefinition processDefinition = deployment.getDeployedProcessDefinitions().get(0); helper.startInstances("process1", 15); ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery().processDefinitionId(processDefinition.getId()); assertEquals(processInstanceCount, processInstanceQuery.count()); // when Batch batch = runtimeService .createModification(processDefinition.getId()) .startAfterActivity("user1") .processInstanceQuery(processInstanceQuery) .executeAsync(); // then a batch is created assertBatchCreated(batch, processInstanceCount); }
@Test public void testStartAfter() { DeploymentWithDefinitions deployment = testRule.deploy(instance); ProcessDefinition definition = deployment.getDeployedProcessDefinitions().get(0); List<String> processInstanceIds = helper.startInstances("process1", 2); runtimeService.createModification(definition.getId()).startAfterActivity("user2").processInstanceIds(processInstanceIds).execute(); for (String processInstanceId : processInstanceIds) { ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstanceId); assertNotNull(updatedTree); assertEquals(processInstanceId, updatedTree.getProcessInstanceId()); assertThat(updatedTree).hasStructure(describeActivityInstanceTree(definition.getId()).activity("user1").activity("user3").done()); } }
@Test public void testStartBeforeAndCancelAll() { DeploymentWithDefinitions deployment = testRule.deploy(instance); ProcessDefinition definition = deployment.getDeployedProcessDefinitions().get(0); List<String> processInstanceIds = helper.startInstances("process1", 2); runtimeService.createModification(definition.getId()).cancelAllForActivity("user1").startBeforeActivity("user2").processInstanceIds(processInstanceIds).execute(); for (String processInstanceId : processInstanceIds) { ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstanceId); assertNotNull(updatedTree); assertEquals(processInstanceId, updatedTree.getProcessInstanceId()); assertThat(updatedTree).hasStructure(describeActivityInstanceTree(definition.getId()).activity("user2").done()); } }
@Test public void testStartTransition() { DeploymentWithDefinitions deployment = testRule.deploy(instance); ProcessDefinition definition = deployment.getDeployedProcessDefinitions().get(0); List<String> processInstanceIds = helper.startInstances("process1", 2); runtimeService.createModification(definition.getId()).startTransition("seq").processInstanceIds(processInstanceIds).execute(); for (String processInstanceId : processInstanceIds) { ActivityInstance updatedTree = runtimeService.getActivityInstance(processInstanceId); assertNotNull(updatedTree); assertEquals(processInstanceId, updatedTree.getProcessInstanceId()); assertThat(updatedTree).hasStructure(describeActivityInstanceTree(definition.getId()).activity("user1").activity("user2").done()); } }