private void verifyProcessInstanceIdSetInvovation() { Map<String, Set<String>> parameters = getCompleteProcessInstanceIdSetQueryParameters(); verify(mockedQuery).processInstanceIds(parameters.get("processInstanceIds")); verify(mockedQuery).list(); }
@Test public void testDeleteHistoryProcessInstancesAsyncWithNonExistingIDAsQuery() throws Exception { //given ArrayList<String> processInstanceIds = new ArrayList<String>(); processInstanceIds.add(historicProcessInstances.get(0)); processInstanceIds.add("aFakeId"); HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet(processInstanceIds)); //when Batch batch = historyService.deleteHistoricProcessInstancesAsync(query, TEST_REASON); executeSeedJob(batch); executeBatchJobs(batch); //then assertHistoricBatchExists(testRule); }
public void testHistoricProcessInstanceQueryByProcessInstanceIdsEmpty() { try { historyService.createHistoricProcessInstanceQuery().processInstanceIds(new HashSet<String>()); fail("ProcessEngineException expected"); } catch (ProcessEngineException re) { assertTextPresent("Set of process instance ids is empty", re.getMessage()); } }
public void assertReportResults(List<DurationReportResult> actual) { assertEquals("Report size", periodToProcessInstancesMap.size(), actual.size()); for (DurationReportResult reportResult : actual) { assertEquals("Period unit", periodUnit, reportResult.getPeriodUnit()); int period = reportResult.getPeriod(); Set<String> processInstancesInPeriod = periodToProcessInstancesMap.get(period); assertNotNull("Unexpected report for period " + period, processInstancesInPeriod); List<HistoricProcessInstance> historicProcessInstances = historyService .createHistoricProcessInstanceQuery() .processInstanceIds(processInstancesInPeriod) .finished() .list(); long max = 0; long min = 0; long sum = 0; for (int i = 0; i < historicProcessInstances.size(); i++) { HistoricProcessInstance historicProcessInstance = historicProcessInstances.get(i); Long duration = historicProcessInstance.getDurationInMillis(); sum = sum + duration; max = i > 0 ? Math.max(max, duration) : duration; min = i > 0 ? Math.min(min, duration) : duration; } long avg = sum / historicProcessInstances.size(); assertEquals("maximum", max, reportResult.getMaximum()); assertEquals("minimum", min, reportResult.getMinimum()); assertEquals("average", avg, reportResult.getAverage(), 1); } }
@Test public void testDeleteHistoryProcessInstancesAsyncWithQuery() throws Exception { //given HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet<String>(historicProcessInstances)); Batch batch = historyService.deleteHistoricProcessInstancesAsync(query, TEST_REASON); executeSeedJob(batch); //when List<Exception> exceptions = executeBatchJobs(batch); // then assertThat(exceptions.size(), is(0)); assertNoHistoryForTasks(); assertHistoricBatchExists(testRule); assertAllHistoricProcessInstancesAreDeleted(); }
public void testHistoricProcessInstanceQueryByProcessInstanceIdsNull() { try { historyService.createHistoricProcessInstanceQuery().processInstanceIds(null); fail("ProcessEngineException expected"); } catch (ProcessEngineException re) { assertTextPresent("Set of process instance ids is null", re.getMessage()); } }
query.processInstanceIds(processInstanceIds);
query.processInstanceIds(processInstanceIds);
@Deployment(resources = {"org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/runtime/otherOneTaskProcess.bpmn20.xml" }) public void testHistoricProcessInstanceQueryByProcessInstanceIds() { HashSet<String> processInstanceIds = new HashSet<String>(); for (int i = 0; i < 4; i++) { processInstanceIds.add(runtimeService.startProcessInstanceByKey(ONE_TASK_PROCESS, i + "").getId()); } processInstanceIds.add(runtimeService.startProcessInstanceByKey("otherOneTaskProcess", "1").getId()); // start an instance that will not be part of the query runtimeService.startProcessInstanceByKey("otherOneTaskProcess", "2"); HistoricProcessInstanceQuery processInstanceQuery = historyService.createHistoricProcessInstanceQuery().processInstanceIds(processInstanceIds); assertEquals(5, processInstanceQuery.count()); List<HistoricProcessInstance> processInstances = processInstanceQuery.list(); assertNotNull(processInstances); assertEquals(5, processInstances.size()); for (HistoricProcessInstance historicProcessInstance : processInstances) { assertTrue(processInstanceIds.contains(historicProcessInstance.getId())); } // making a query that has contradicting conditions should succeed assertEquals(0, processInstanceQuery.processInstanceId("dummy").count()); }
@Override public Object execute(CommandContext commandContext) { //when List<String> historicProcessInstanceIdsForCleanup = commandContext.getHistoricProcessInstanceManager().findHistoricProcessInstanceIdsForCleanup( batchSize, 0, 60); //then assertEquals(resultCount, historicProcessInstanceIdsForCleanup.size()); if (resultCount > 0) { List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet<String>(historicProcessInstanceIdsForCleanup)).list(); for (HistoricProcessInstance historicProcessInstance : historicProcessInstances) { assertNotNull(historicProcessInstance.getEndTime()); List<ProcessDefinition> processDefinitions = engineRule.getRepositoryService().createProcessDefinitionQuery() .processDefinitionId(historicProcessInstance.getProcessDefinitionId()).list(); assertEquals(1, processDefinitions.size()); ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) processDefinitions.get(0); assertTrue(historicProcessInstance.getEndTime().before(DateUtils.addDays(ClockUtil.getCurrentTime(), processDefinition.getHistoryTimeToLive()))); } } return null; } });
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchActivatationByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when the process instances are suspended runtimeService.updateProcessInstanceSuspensionState() .byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspend(); // when they are activated again runtimeService.updateProcessInstanceSuspensionState() .byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).activate(); // Update the process instances and they are active again ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertFalse(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertFalse(p2c.isSuspended()); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchActivationByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when Batch suspendprocess = runtimeService.updateProcessInstanceSuspensionState().byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspendAsync(); helper.executeSeedJob(suspendprocess); helper.executeJobs(suspendprocess); Batch activateprocess = runtimeService.updateProcessInstanceSuspensionState().byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).activateAsync(); helper.executeSeedJob(activateprocess); helper.executeJobs(activateprocess); // then ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertFalse(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertFalse(p2c.isSuspended()); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchSuspensionByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when the process instances are suspended runtimeService.updateProcessInstanceSuspensionState() .byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspend(); // Update the process instances and they are suspended ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertTrue(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertTrue(p2c.isSuspended()); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchSuspensionByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when Batch suspendprocess = runtimeService.updateProcessInstanceSuspensionState().byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspendAsync(); helper.executeSeedJob(suspendprocess); helper.executeJobs(suspendprocess); // then ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertTrue(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertTrue(p2c.isSuspended()); }
@Test public void testDeleteHistoryProcessInstancesAsyncWithNonExistingIDAsQuery() throws Exception { //given ArrayList<String> processInstanceIds = new ArrayList<String>(); processInstanceIds.add(historicProcessInstances.get(0)); processInstanceIds.add("aFakeId"); HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet(processInstanceIds)); //when Batch batch = historyService.deleteHistoricProcessInstancesAsync(query, TEST_REASON); executeSeedJob(batch); executeBatchJobs(batch); //then assertHistoricBatchExists(testRule); }
public void testHistoricProcessInstanceQueryByProcessInstanceIdsEmpty() { try { historyService.createHistoricProcessInstanceQuery().processInstanceIds(new HashSet<String>()); fail("ProcessEngineException expected"); } catch (ProcessEngineException re) { assertTextPresent("Set of process instance ids is empty", re.getMessage()); } }
public void testHistoricProcessInstanceQueryByProcessInstanceIdsNull() { try { historyService.createHistoricProcessInstanceQuery().processInstanceIds(null); fail("ProcessEngineException expected"); } catch (ProcessEngineException re) { assertTextPresent("Set of process instance ids is null", re.getMessage()); } }
@Test public void testDeleteHistoryProcessInstancesAsyncWithQuery() throws Exception { //given HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery() .processInstanceIds(new HashSet<String>(historicProcessInstances)); Batch batch = historyService.deleteHistoricProcessInstancesAsync(query, TEST_REASON); executeSeedJob(batch); //when List<Exception> exceptions = executeBatchJobs(batch); // then assertThat(exceptions.size(), is(0)); assertNoHistoryForTasks(); assertHistoricBatchExists(testRule); assertAllHistoricProcessInstancesAreDeleted(); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchSuspensionByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when the process instances are suspended runtimeService.updateProcessInstanceSuspensionState() .byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspend(); // Update the process instances and they are suspended ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertTrue(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertTrue(p2c.isSuspended()); }
@Test @Deployment(resources = {"org/camunda/bpm/engine/test/api/externaltask/oneExternalTaskProcess.bpmn20.xml", "org/camunda/bpm/engine/test/api/externaltask/twoExternalTaskProcess.bpmn20.xml"}) @RequiredHistoryLevel(ProcessEngineConfiguration.HISTORY_ACTIVITY) public void testBatchSuspensionByHistoricProcessInstanceQuery() { // given ProcessInstance processInstance1 = runtimeService.startProcessInstanceByKey("oneExternalTaskProcess"); ProcessInstance processInstance2 = runtimeService.startProcessInstanceByKey("twoExternalTaskProcess"); // when Batch suspendprocess = runtimeService.updateProcessInstanceSuspensionState().byHistoricProcessInstanceQuery(historyService.createHistoricProcessInstanceQuery().processInstanceIds(Sets.newHashSet(processInstance1.getId(), processInstance2.getId()))).suspendAsync(); helper.executeSeedJob(suspendprocess); helper.executeJobs(suspendprocess); // then ProcessInstance p1c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance1.getId()).singleResult(); assertTrue(p1c.isSuspended()); ProcessInstance p2c = runtimeService.createProcessInstanceQuery().processInstanceId(processInstance2.getId()).singleResult(); assertTrue(p2c.isSuspended()); }