@Test public void testNullMigrationPlan() { try { runtimeService.newMigration(null).processInstanceIds(Collections.singletonList("process")).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("migration plan is null")); } }
@Test public void testNullMigrationPlan() { try { runtimeService.newMigration(null).processInstanceIds(Collections.<String>emptyList()).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("migration plan is null")); } }
@Before public void deployProcessesAndCreateMigrationPlan() { ProcessInstance pi = createMigrationPlan(); batch1 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); Job seedJob = engineRule.getManagementService().createJobQuery().singleResult(); engineRule.getManagementService().executeJob(seedJob.getId()); batch2 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); }
@Test public void testProcessInstanceIdsListWithNullValue() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList("foo", null, "bar")).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("process instance ids contains null value")); } }
public Batch migrateProcessInstancesAsync(int numberOfProcessInstances, ProcessDefinition sourceProcessDefinition, ProcessDefinition targetProcessDefinition) { RuntimeService runtimeService = engineRule.getRuntimeService(); List<String> processInstanceIds = new ArrayList<String>(numberOfProcessInstances); for (int i = 0; i < numberOfProcessInstances; i++) { processInstanceIds.add( runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()).getId()); } MigrationPlan migrationPlan = engineRule.getRuntimeService() .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); return runtimeService.newMigration(migrationPlan).processInstanceIds(processInstanceIds).executeAsync(); }
@Test public void testEmptyProcessInstanceIdsList() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(Collections.<String>emptyList()).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("process instance ids is empty")); } }
public void migrateProcessInstance(MigrationPlan migrationPlan, ProcessInstance processInstance) { snapshotBeforeMigration = takeFullProcessInstanceSnapshot(processInstance); RuntimeService runtimeService = processEngine.getRuntimeService(); runtimeService .newMigration(migrationPlan).processInstanceIds(Collections.singletonList(snapshotBeforeMigration.getProcessInstanceId())).execute(); // fetch updated process instance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult(); snapshotAfterMigration = takeFullProcessInstanceSnapshot(processInstance); }
@Test public void testProcessInstanceIdsListWithNullValue() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList("foo", null, "bar")).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids contains null value")); } }
@Test public void testEmptyProcessInstanceIdsList() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(Collections.<String>emptyList()).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids is empty")); } }
@Test public void testNotMigrateNullProcessInstance() { ProcessDefinition sourceProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(Collections.<String>singletonList(null)).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids contains null value")); } }
@Test public void testNullProcessInstanceIdsList() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds((List<String>) null).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("process instance ids is empty")); } }
protected Batch createFailingMigrationBatch() { BpmnModelInstance instance = createModelInstance(); ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(instance); ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition(instance); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()); Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance.getId(), "unknownId")).executeAsync(); return batch; }
@Test public void testNullProcessInstanceIdsList() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds((List<String>) null).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids is empty")); } }
@Test public void testNullProcessInstanceIdsArray() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds((String[]) null).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids is empty")); } }
@Test public void testProcessInstanceIdsArrayWithNullValue() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds("foo", null, "bar").execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids contains null value")); } }
@Test public void testEmptyProcessInstanceIdsArray() { ProcessDefinition testProcessDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds(new String[]{}).execute(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids is empty")); } }
@Test public void testProcessInstanceIdsArrayWithNullValue() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds("foo", null, "bar").executeAsync(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("process instance ids contains null value")); } }
private Batch createFailingMigrationBatch() { BpmnModelInstance instance = createModelInstance(); ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(instance); ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition(instance); MigrationPlan migrationPlan = runtimeService .createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = runtimeService.startProcessInstanceById(sourceProcessDefinition.getId()); Batch batch = runtimeService.newMigration(migrationPlan).processInstanceIds(Arrays.asList(processInstance.getId(), "unknownId")).executeAsync(); return batch; }
@Test public void testNullProcessInstanceIdsArray() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceIds((String[]) null).executeAsync(); fail("Should not be able to migrate"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), CoreMatchers.containsString("process instance ids is empty")); } }
private String createBatch() { ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan plan = engineRule.getRuntimeService().createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance pi = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); Batch batch = engineRule.getRuntimeService() .newMigration(plan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); return batch.getId(); } }