@Test public void testSkipIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .skipIoMappings() .execute(); // then assertEquals(0, rule.getRuntimeService().createVariableInstanceQuery().count()); }
@Test public void testNoOutputMappingExecuted() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(CompensationModels.COMPENSATION_ONE_TASK_SUBPROCESS_MODEL) .activityBuilder("subProcess") .camundaOutputParameter("foo", "${bar}") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(CompensationModels.ONE_COMPENSATION_TASK_MODEL); MigrationPlan migrationPlan = rule.getRuntimeService().createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask2", "userTask2") .mapActivities("compensationBoundary", "compensationBoundary") .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); rule.getRuntimeService().setVariable(processInstance.getId(), "bar", "value1"); testHelper.completeTask("userTask1"); // => sets "foo" to "value1" rule.getRuntimeService().setVariable(processInstance.getId(), "bar", "value2"); // when testHelper.migrateProcessInstance(migrationPlan, processInstance); // then "foo" has not been set to "value2" Assert.assertEquals(2, testHelper.snapshotAfterMigration.getVariables().size()); // "foo" and "bar" VariableInstance variableInstance = testHelper.snapshotAfterMigration.getSingleVariable("foo"); Assert.assertEquals("value1", variableInstance.getValue()); } }
@Test public void testIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .execute(); // then VariableInstance inputVariable = rule.getRuntimeService().createVariableInstanceQuery().singleResult(); Assert.assertNotNull(inputVariable); assertEquals("foo", inputVariable.getName()); assertEquals("bar", inputVariable.getValue()); assertEquals(processInstance.getId(), inputVariable.getActivityInstanceId()); }
@Test public void testSkipIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .skipIoMappings() .execute(); // then assertEquals(0, rule.getRuntimeService().createVariableInstanceQuery().count()); }
@Test public void testNoOutputMappingExecuted() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(CompensationModels.COMPENSATION_ONE_TASK_SUBPROCESS_MODEL) .activityBuilder("subProcess") .camundaOutputParameter("foo", "${bar}") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(CompensationModels.ONE_COMPENSATION_TASK_MODEL); MigrationPlan migrationPlan = rule.getRuntimeService().createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask2", "userTask2") .mapActivities("compensationBoundary", "compensationBoundary") .build(); ProcessInstance processInstance = rule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); rule.getRuntimeService().setVariable(processInstance.getId(), "bar", "value1"); testHelper.completeTask("userTask1"); // => sets "foo" to "value1" rule.getRuntimeService().setVariable(processInstance.getId(), "bar", "value2"); // when testHelper.migrateProcessInstance(migrationPlan, processInstance); // then "foo" has not been set to "value2" Assert.assertEquals(2, testHelper.snapshotAfterMigration.getVariables().size()); // "foo" and "bar" VariableInstance variableInstance = testHelper.snapshotAfterMigration.getSingleVariable("foo"); Assert.assertEquals("value1", variableInstance.getValue()); } }
@Test public void testIoMappingInvocationForRemovedScope() { // given ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(modify(ProcessModels.SUBPROCESS_PROCESS) .activityBuilder("subProcess") .camundaOutputParameter("foo", "bar") .done()); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities("userTask", "userTask") .build(); // when ProcessInstance processInstance = rule.getRuntimeService() .startProcessInstanceById(migrationPlan.getSourceProcessDefinitionId()); rule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .execute(); // then VariableInstance inputVariable = rule.getRuntimeService().createVariableInstanceQuery().singleResult(); Assert.assertNotNull(inputVariable); assertEquals("foo", inputVariable.getName()); assertEquals("bar", inputVariable.getValue()); assertEquals(processInstance.getId(), inputVariable.getActivityInstanceId()); }