use of org.camunda.bpm.engine.batch.Batch in project camunda-bpm-platform by camunda.
the class BatchHistoricDecisionInstanceDeletionTest method createDeletionJobsByQuery.
@Test
public void createDeletionJobsByQuery() {
// given
rule.getProcessEngineConfiguration().setBatchJobsPerSeed(5);
HistoricDecisionInstanceQuery query = historyService.createHistoricDecisionInstanceQuery().decisionDefinitionKey(DECISION);
Batch batch = historyService.deleteHistoricDecisionInstancesAsync(query, null);
JobDefinition seedJobDefinition = helper.getSeedJobDefinition(batch);
JobDefinition deletionJobDefinition = helper.getExecutionJobDefinition(batch);
;
// when
helper.executeSeedJob(batch);
// then
List<Job> deletionJobs = helper.getJobsForDefinition(deletionJobDefinition);
assertEquals(5, deletionJobs.size());
for (Job deletionJob : deletionJobs) {
assertEquals(deletionJobDefinition.getId(), deletionJob.getJobDefinitionId());
assertNull(deletionJob.getDuedate());
assertNull(deletionJob.getProcessDefinitionId());
assertNull(deletionJob.getProcessDefinitionKey());
assertNull(deletionJob.getProcessInstanceId());
assertNull(deletionJob.getExecutionId());
}
// and the seed job still exists
Job seedJob = helper.getJobForDefinition(seedJobDefinition);
assertNotNull(seedJob);
}
use of org.camunda.bpm.engine.batch.Batch in project camunda-bpm-platform by camunda.
the class SetExternalTasksRetriesTest method shouldFailForNonExistingExternalTaskIdAsync.
@Test
public void shouldFailForNonExistingExternalTaskIdAsync() {
List<ExternalTask> externalTasks = externalTaskService.createExternalTaskQuery().list();
ArrayList<String> externalTaskIds = new ArrayList<String>();
for (ExternalTask task : externalTasks) {
externalTaskIds.add(task.getId());
}
externalTaskIds.add("nonExistingExternalTaskId");
Batch batch = externalTaskService.setRetriesAsync(externalTaskIds, null, 10);
try {
executeSeedAndBatchJobs(batch);
fail("exception expected");
} catch (NotFoundException e) {
Assert.assertThat(e.getMessage(), containsString("Cannot find external task with id nonExistingExternalTaskId"));
}
}
use of org.camunda.bpm.engine.batch.Batch in project camunda-bpm-platform by camunda.
the class SetExternalTasksRetriesTest method shouldUpdateRetriesByAllParameters.
@Test
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_AUDIT)
public void shouldUpdateRetriesByAllParameters() {
// given
ExternalTask externalTask = externalTaskService.createExternalTaskQuery().processInstanceId(processInstanceIds.get(0)).singleResult();
ExternalTaskQuery externalTaskQuery = externalTaskService.createExternalTaskQuery().processInstanceId(processInstanceIds.get(1));
ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceIds.get(2));
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceIds.get(3));
// when
Batch batch = externalTaskService.updateRetries().externalTaskIds(externalTask.getId()).externalTaskQuery(externalTaskQuery).processInstanceQuery(processInstanceQuery).historicProcessInstanceQuery(historicProcessInstanceQuery).processInstanceIds(processInstanceIds.get(4)).setAsync(5);
executeSeedAndBatchJobs(batch);
// then
List<ExternalTask> tasks = externalTaskService.createExternalTaskQuery().list();
assertEquals(6, tasks.size());
for (ExternalTask task : tasks) {
assertEquals(Integer.valueOf(5), task.getRetries());
}
}
use of org.camunda.bpm.engine.batch.Batch in project camunda-bpm-platform by camunda.
the class SetExternalTasksRetriesTest method shouldUpdateRetriesByProcessInstanceIds.
@Test
public void shouldUpdateRetriesByProcessInstanceIds() {
// when
Batch batch = externalTaskService.updateRetries().processInstanceIds(processInstanceIds).setAsync(5);
executeSeedAndBatchJobs(batch);
// then
List<ExternalTask> tasks = externalTaskService.createExternalTaskQuery().list();
assertEquals(6, tasks.size());
for (ExternalTask task : tasks) {
assertEquals(5, (int) task.getRetries());
}
}
use of org.camunda.bpm.engine.batch.Batch in project camunda-bpm-platform by camunda.
the class MultiTenancyProcessInstantiationTest method testRestartProcessInstanceAsyncWithTenantIdByHistoricProcessInstanceQuery.
@RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_FULL)
public void testRestartProcessInstanceAsyncWithTenantIdByHistoricProcessInstanceQuery() {
// given
ProcessInstance processInstance = startAndDeleteProcessInstance(TENANT_ONE, PROCESS);
HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery().processDefinitionId(processInstance.getProcessDefinitionId());
identityService.setAuthentication("user", null, Collections.singletonList(TENANT_ONE));
// when
Batch batch = runtimeService.restartProcessInstances(processInstance.getProcessDefinitionId()).startBeforeActivity("userTask").historicProcessInstanceQuery(query).executeAsync();
batchHelper.completeBatch(batch);
// then
ProcessInstance restartedInstance = runtimeService.createProcessInstanceQuery().active().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult();
assertNotNull(restartedInstance);
assertEquals(restartedInstance.getTenantId(), TENANT_ONE);
}
Aggregations