public BatchDto executeMigrationPlanAsync(MigrationExecutionDto migrationExecution) { Batch batch = createMigrationPlanExecutionBuilder(migrationExecution).executeAsync(); return BatchDto.fromBatch(batch); }
public BatchDto executeMigrationPlanAsync(MigrationExecutionDto migrationExecution) { Batch batch = createMigrationPlanExecutionBuilder(migrationExecution).executeAsync(); return BatchDto.fromBatch(batch); }
protected void verifyMigrationPlanAsyncExecutionInteraction(Map<String, Object> migrationExecution) { InOrder inOrder = inOrder(runtimeServiceMock, migrationPlanExecutionBuilderMock); inOrder.verify(runtimeServiceMock).newMigration(any(MigrationPlan.class)); verifyMigrationExecutionBuilderInteraction(inOrder, migrationExecution); inOrder.verify(migrationPlanExecutionBuilderMock).executeAsync(); Mockito.verifyNoMoreInteractions(migrationPlanExecutionBuilderMock); }
@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")); } }
@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")); } }
@Test public void testNullProcessInstanceQuery() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); try { runtimeService.newMigration(migrationPlan).processInstanceQuery(null).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), containsString("process instance ids is empty")); } }
@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")); } }
@Before public void deployProcessesAndCreateMigrationPlan() { ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); migrationPlan = engineRule.getRuntimeService().createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance pi = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); batch1 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); batch2 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); }
@Before public void deployProcessesAndCreateMigrationPlan() { ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); migrationPlan = engineRule.getRuntimeService().createMigrationPlan(sourceDefinition.getId(), targetDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance pi = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); batch1 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); batch2 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); }
@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")); } }
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; }
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")); } }
@Test public void testEmptyProcessInstanceQuery() { ProcessDefinition testProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); MigrationPlan migrationPlan = runtimeService.createMigrationPlan(testProcessDefinition.getId(), testProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstanceQuery emptyProcessInstanceQuery = runtimeService.createProcessInstanceQuery(); assertEquals(0, emptyProcessInstanceQuery.count()); try { runtimeService.newMigration(migrationPlan).processInstanceQuery(emptyProcessInstanceQuery).executeAsync(); fail("Should not succeed"); } catch (ProcessEngineException e) { assertThat(e.getMessage(), 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(); } }
@Test public void testBatchStatisticsAndCreateUserId() { // given ProcessInstance pi = createMigrationPlan(); // when authRule.createGrantAuthorization(Resources.BATCH, "*", "userId", Permissions.CREATE); authRule.createGrantAuthorization(Resources.PROCESS_DEFINITION, "*", "userId", Permissions.MIGRATE_INSTANCE); authRule.enableAuthorization("userId"); batch3 = engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(pi.getId())) .executeAsync(); authRule.disableAuthorization(); // then BatchStatistics batchStatistics = engineRule.getManagementService().createBatchStatisticsQuery().batchId(batch3.getId()).singleResult(); assertEquals("userId", batchStatistics.getCreateUserId()); }
@Test public void testNoCreationOnJobExecutorBatchJobExecution() { // given ProcessDefinition sourceProcessDefinition = migrationRule.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); ProcessDefinition targetProcessDefinition = migrationRule.deployAndGetDefinition( modify(ProcessModels.ONE_TASK_PROCESS).changeElementId(ProcessModels.PROCESS_KEY, "new" + ProcessModels.PROCESS_KEY)); MigrationPlan migrationPlan = engineRule.getRuntimeService().createMigrationPlan(sourceProcessDefinition.getId(), targetProcessDefinition.getId()) .mapEqualActivities() .build(); ProcessInstance processInstance = engineRule.getRuntimeService().startProcessInstanceById(sourceProcessDefinition.getId()); engineRule.getRuntimeService() .newMigration(migrationPlan) .processInstanceIds(Arrays.asList(processInstance.getId())) .executeAsync(); // when migrationRule.waitForJobExecutorToProcessAllJobs(5000L); // then Assert.assertEquals(0, engineRule.getHistoryService().createUserOperationLogQuery().count()); }