@Test public void testMigrateBoundaryEventAndEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo("subProcess") .triggerByEvent() .embeddedSubProcess() .startEvent("eventStart").message(MESSAGE_NAME) .endEvent() .subProcessDone() .moveToActivity(USER_TASK_ID) .boundaryEvent(BOUNDARY_ID).signal(SIGNAL_NAME) .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(testProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(testProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities(BOUNDARY_ID, BOUNDARY_ID) .mapActivities(USER_TASK_ID, USER_TASK_ID) .build(); // when testHelper.createProcessInstanceAndMigrate(migrationPlan); // then testHelper.assertEventSubscriptionRemoved("eventStart", MESSAGE_NAME); testHelper.assertEventSubscriptionMigrated(BOUNDARY_ID, BOUNDARY_ID, SIGNAL_NAME); testHelper.assertEventSubscriptionCreated("eventStart", MESSAGE_NAME); // and it is possible to successfully complete the migrated instance testHelper.completeTask(USER_TASK_ID); testHelper.assertProcessEnded(testHelper.snapshotBeforeMigration.getProcessInstanceId()); }
@Test public void testMigrateBoundaryEventAndEventSubProcess() { BpmnModelInstance testProcess = modify(ProcessModels.SUBPROCESS_PROCESS) .addSubProcessTo("subProcess") .triggerByEvent() .embeddedSubProcess() .startEvent("eventStart").message(MESSAGE_NAME) .endEvent() .subProcessDone() .moveToActivity(USER_TASK_ID) .boundaryEvent(BOUNDARY_ID).signal(SIGNAL_NAME) .done(); ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(testProcess); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(testProcess); MigrationPlan migrationPlan = rule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapActivities(BOUNDARY_ID, BOUNDARY_ID) .mapActivities(USER_TASK_ID, USER_TASK_ID) .build(); // when testHelper.createProcessInstanceAndMigrate(migrationPlan); // then testHelper.assertEventSubscriptionRemoved("eventStart", MESSAGE_NAME); testHelper.assertEventSubscriptionMigrated(BOUNDARY_ID, BOUNDARY_ID, SIGNAL_NAME); testHelper.assertEventSubscriptionCreated("eventStart", MESSAGE_NAME); // and it is possible to successfully complete the migrated instance testHelper.completeTask(USER_TASK_ID); testHelper.assertProcessEnded(testHelper.snapshotBeforeMigration.getProcessInstanceId()); }