protected HistoricProcessInstance getHistoricProcessInstance(CommandContext commandContext, String processInstanceId) { HistoryService historyService = commandContext.getProcessEngineConfiguration().getHistoryService(); return historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); }
protected HistoricProcessInstance getHistoricProcessInstance(CommandContext commandContext, String processInstanceId) { HistoryService historyService = commandContext.getProcessEngineConfiguration().getHistoryService(); return historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); }
@Override public HistoricProcessInstanceDto getHistoricProcessInstance() { HistoryService historyService = engine.getHistoryService(); HistoricProcessInstance instance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Historic process instance with id " + processInstanceId + " does not exist"); } return HistoricProcessInstanceDto.fromHistoricProcessInstance(instance); }
@Override public HistoricProcessInstanceDto getHistoricProcessInstance() { HistoryService historyService = engine.getHistoryService(); HistoricProcessInstance instance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult(); if (instance == null) { throw new InvalidRequestException(Status.NOT_FOUND, "Historic process instance with id " + processInstanceId + " does not exist"); } return HistoricProcessInstanceDto.fromHistoricProcessInstance(instance); }
private void verifyStringParameterQueryInvocations() { Map<String, String> stringQueryParameters = getCompleteStringQueryParameters(); verify(mockedQuery).processInstanceId(stringQueryParameters.get("processInstanceId")); verify(mockedQuery).processInstanceBusinessKey(stringQueryParameters.get("processInstanceBusinessKey")); verify(mockedQuery).processInstanceBusinessKeyLike(stringQueryParameters.get("processInstanceBusinessKeyLike")); verify(mockedQuery).processDefinitionId(stringQueryParameters.get("processDefinitionId")); verify(mockedQuery).processDefinitionKey(stringQueryParameters.get("processDefinitionKey")); verify(mockedQuery).processDefinitionName(stringQueryParameters.get("processDefinitionName")); verify(mockedQuery).processDefinitionNameLike(stringQueryParameters.get("processDefinitionNameLike")); verify(mockedQuery).startedBy(stringQueryParameters.get("startedBy")); verify(mockedQuery).superProcessInstanceId(stringQueryParameters.get("superProcessInstanceId")); verify(mockedQuery).subProcessInstanceId(stringQueryParameters.get("subProcessInstanceId")); verify(mockedQuery).superCaseInstanceId(stringQueryParameters.get("superCaseInstanceId")); verify(mockedQuery).subCaseInstanceId(stringQueryParameters.get("subCaseInstanceId")); verify(mockedQuery).caseInstanceId(stringQueryParameters.get("caseInstanceId")); verify(mockedQuery).incidentType(stringQueryParameters.get("incidentType")); verify(mockedQuery).list(); }
@Test public void testGetNonExistingProcessInstance() { HistoricProcessInstanceQuery sampleInstanceQuery = mock(HistoricProcessInstanceQuery.class); when(historyServiceMock.createHistoricProcessInstanceQuery()).thenReturn(sampleInstanceQuery); when(sampleInstanceQuery.processInstanceId(anyString())).thenReturn(sampleInstanceQuery); when(sampleInstanceQuery.singleResult()).thenReturn(null); given().pathParam("id", "aNonExistingInstanceId") .then().expect().statusCode(Status.NOT_FOUND.getStatusCode()).contentType(ContentType.JSON) .body("type", equalTo(InvalidRequestException.class.getSimpleName())) .body("message", equalTo("Historic process instance with id aNonExistingInstanceId does not exist")) .when().get(HISTORIC_SINGLE_PROCESS_INSTANCE_URL); }
@Test public void testDeleteHistoryProcessInstancesAsyncWithQueryAndList() throws Exception { //given HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery() .processInstanceId(historicProcessInstances.get(0)); Batch batch = historyService.deleteHistoricProcessInstancesAsync( historicProcessInstances.subList(1, historicProcessInstances.size()), query, TEST_REASON); executeSeedJob(batch); //when List<Exception> exceptions = executeBatchJobs(batch); // then assertThat(exceptions.size(), is(0)); assertNoHistoryForTasks(); assertHistoricBatchExists(testRule); assertAllHistoricProcessInstancesAreDeleted(); }
protected void verifyStates(String[] processInstances, String[] states) { for (int i = 0; i < processInstances.length; i++) { assertThat( processEngineRule.getHistoryService().createHistoricProcessInstanceQuery() .processInstanceId(processInstances[i]).singleResult().getState(), is(states[i])); } } }
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml") public void testRetrieveProcessDefinitionVersion() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess").getId(); // when HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); // then assertEquals(1, historicProcessInstance.getProcessDefinitionVersion().intValue()); }
public void deployAndCompleteProcesses() { ProcessDefinition sourceDefinition = testHelper.deployAndGetDefinition(ProcessModels.ONE_TASK_PROCESS); processInstance = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); processInstance2 = engineRule.getRuntimeService().startProcessInstanceById(sourceDefinition.getId()); List<String> processInstanceIds = Arrays.asList( new String[]{processInstance.getId(), processInstance2.getId()}); runtimeService.deleteProcessInstances(processInstanceIds, null, false, false); historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstance.getId()).singleResult(); historicProcessInstance2 = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstance2.getId()).singleResult(); }
@Deployment(resources = {"org/camunda/bpm/engine/test/history/oneTaskProcess.bpmn20.xml"}) // ACT-1098 public void testDeleteReason() { if(!ProcessEngineConfiguration.HISTORY_NONE.equals(processEngineConfiguration.getHistory())) { final String deleteReason = "some delete reason"; ProcessInstance pi = runtimeService.startProcessInstanceByKey("oneTaskProcess"); runtimeService.deleteProcessInstance(pi.getId(), deleteReason); HistoricProcessInstance hpi = historyService.createHistoricProcessInstanceQuery().processInstanceId(pi.getId()).singleResult(); assertEquals(deleteReason, hpi.getDeleteReason()); } }
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml") public void testRetrieveProcessDefinitionName() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess").getId(); // when HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); // then assertEquals("The One Task Process", historicProcessInstance.getProcessDefinitionName()); }
@Deployment public void testProcessInstanceShouldBeActive() { // given // when String processInstanceId = runtimeService.startProcessInstanceByKey("process").getId(); // then HistoricProcessInstance historicProcessInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); assertNull(historicProcessInstance.getEndTime()); assertNull(historicProcessInstance.getDurationInMillis()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml") public void testStartByKeyWithCaseInstanceId() { String caseInstanceId = "aCaseInstanceId"; String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess", null, caseInstanceId).getId(); HistoricProcessInstance firstInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); assertNotNull(firstInstance); assertEquals(caseInstanceId, firstInstance.getCaseInstanceId()); // the second possibility to start a process instance ///////////////////////////////////////////// processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess", null, caseInstanceId, null).getId(); HistoricProcessInstance secondInstance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); assertNotNull(secondInstance); assertEquals(caseInstanceId, secondInstance.getCaseInstanceId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/history/oneTaskProcess.bpmn20.xml"}) public void testDeleteProcessInstanceHistoryCreated() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess"); assertNotNull(processInstance); // delete process instance should not delete the history runtimeService.deleteProcessInstance(processInstance.getId(), "cancel"); HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(historicProcessInstance.getEndTime()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml") public void testProcessDefinitionKeyProperty() { // given String key = "oneTaskProcess"; String processInstanceId = runtimeService.startProcessInstanceByKey(key).getId(); // when HistoricProcessInstance instance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); // then assertNotNull(instance.getProcessDefinitionKey()); assertEquals(key, instance.getProcessDefinitionKey()); }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/oneTaskProcess.bpmn20.xml") public void testDeleteProcessInstanceSkipCustomListener() { // given String processInstanceId = runtimeService.startProcessInstanceByKey("oneTaskProcess").getId(); // when runtimeService.deleteProcessInstance(processInstanceId, null, true); // then HistoricProcessInstance instance = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .singleResult(); assertNotNull(instance); assertEquals(processInstanceId, instance.getId()); assertNotNull(instance.getEndTime()); }
public void testDeleteHistoricProcessInstanceWithDeleteHistoryPermissionOnProcessDefinition() { // given String processInstanceId = startProcessInstanceByKey(PROCESS_KEY).getId(); String taskId = selectSingleTask().getId(); disableAuthorization(); taskService.complete(taskId); enableAuthorization(); createGrantAuthorization(PROCESS_DEFINITION, PROCESS_KEY, userId, DELETE_HISTORY); // when historyService.deleteHistoricProcessInstance(processInstanceId); // then disableAuthorization(); long count = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .count(); assertEquals(0, count); enableAuthorization(); }
public void testDeleteHistoricProcessInstanceWithDeleteHistoryPermissionOnAnyProcessDefinition() { // given String processInstanceId = startProcessInstanceByKey(PROCESS_KEY).getId(); String taskId = selectSingleTask().getId(); disableAuthorization(); taskService.complete(taskId); enableAuthorization(); createGrantAuthorization(PROCESS_DEFINITION, ANY, userId, DELETE_HISTORY); // when historyService.deleteHistoricProcessInstance(processInstanceId); // then disableAuthorization(); long count = historyService .createHistoricProcessInstanceQuery() .processInstanceId(processInstanceId) .count(); assertEquals(0, count); enableAuthorization(); }
@Deployment public void testLongProcessDefinitionKey() { // must be equals to attribute id of element process in process model final String PROCESS_DEFINITION_KEY = "myrealrealrealrealrealrealrealrealrealrealreallongprocessdefinitionkeyawesome"; ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult(); ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId()); // get HPI by process instance id HistoricProcessInstance hpi = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstance.getId()).singleResult(); assertNotNull(hpi); assertProcessEnded(hpi.getId()); // get HPI by process definition key HistoricProcessInstance hpi2 = historyService.createHistoricProcessInstanceQuery().processDefinitionKey(PROCESS_DEFINITION_KEY).singleResult(); assertNotNull(hpi2); assertProcessEnded(hpi2.getId()); // check we got the same HPIs assertEquals(hpi.getId(), hpi2.getId()); }