private static UserOperationLogEntry createUserOperationLogEntry() { UserOperationLogEntry entry = mock(UserOperationLogEntry.class); when(entry.getId()).thenReturn(EXAMPLE_USER_OPERATION_LOG_ID); when(entry.getDeploymentId()).thenReturn(EXAMPLE_DEPLOYMENT_ID); when(entry.getProcessDefinitionId()).thenReturn(EXAMPLE_PROCESS_DEFINITION_ID); when(entry.getProcessDefinitionKey()).thenReturn(EXAMPLE_PROCESS_DEFINITION_KEY); when(entry.getProcessInstanceId()).thenReturn(EXAMPLE_PROCESS_INSTANCE_ID); when(entry.getExecutionId()).thenReturn(EXAMPLE_EXECUTION_ID); when(entry.getCaseDefinitionId()).thenReturn(EXAMPLE_CASE_DEFINITION_ID); when(entry.getCaseInstanceId()).thenReturn(EXAMPLE_CASE_INSTANCE_ID); when(entry.getCaseExecutionId()).thenReturn(EXAMPLE_CASE_EXECUTION_ID); when(entry.getTaskId()).thenReturn(EXAMPLE_TASK_ID); when(entry.getJobId()).thenReturn(EXAMPLE_JOB_ID); when(entry.getJobDefinitionId()).thenReturn(EXAMPLE_JOB_DEFINITION_ID); when(entry.getBatchId()).thenReturn(EXAMPLE_BATCH_ID); when(entry.getUserId()).thenReturn(EXAMPLE_USER_ID); when(entry.getTimestamp()).thenReturn(DateTimeUtil.parseDate(EXAMPLE_USER_OPERATION_TIMESTAMP)); when(entry.getOperationId()).thenReturn(EXAMPLE_USER_OPERATION_ID); when(entry.getOperationType()).thenReturn(EXAMPLE_USER_OPERATION_TYPE); when(entry.getEntityType()).thenReturn(EXAMPLE_USER_OPERATION_ENTITY); when(entry.getProperty()).thenReturn(EXAMPLE_USER_OPERATION_PROPERTY); when(entry.getOrgValue()).thenReturn(EXAMPLE_USER_OPERATION_ORG_VALUE); when(entry.getNewValue()).thenReturn(EXAMPLE_USER_OPERATION_NEW_VALUE); return entry; }
@Deployment(resources = {"org/camunda/bpm/engine/test/history/asyncTaskProcess.bpmn20.xml"}) public void testOverwriteOverridingPriority() { // given a job definition JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // with an overriding priority ClockUtil.setCurrentTime(new Date(System.currentTimeMillis())); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // when I overwrite that priority ClockUtil.setCurrentTime(new Date(System.currentTimeMillis() + 10000)); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 43); // then this is accessible via the op log UserOperationLogEntry userOperationLogEntry = historyService.createUserOperationLogQuery() .orderByTimestamp().desc().listPage(0, 1).get(0); assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.JOB_DEFINITION, userOperationLogEntry.getEntityType()); assertEquals(jobDefinition.getId(), userOperationLogEntry.getJobDefinitionId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_SET_PRIORITY, userOperationLogEntry.getOperationType()); assertEquals("overridingPriority", userOperationLogEntry.getProperty()); assertEquals("43", userOperationLogEntry.getNewValue()); assertEquals("42", userOperationLogEntry.getOrgValue()); }
public void testCompositeBeanInteraction() { // given: a manually created task task = taskService.newTask(); // then: save the task without any property change taskService.saveTask(task); // expect: no entry UserOperationLogQuery query = queryOperationDetails(OPERATION_TYPE_CREATE); UserOperationLogEntry create = query.singleResult(); assertNotNull(create); assertEquals(ENTITY_TYPE_TASK, create.getEntityType()); assertNull(create.getOrgValue()); assertNull(create.getNewValue()); assertNull(create.getProperty()); task.setAssignee("icke"); task.setName("to do"); // then: save the task again taskService.saveTask(task); // expect: two update entries with the same operation id List<UserOperationLogEntry> entries = queryOperationDetails(OPERATION_TYPE_UPDATE).list(); assertEquals(2, entries.size()); assertEquals(entries.get(0).getOperationId(), entries.get(1).getOperationId()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/history/asyncTaskProcess.bpmn20.xml"}) public void testClearOverridingPriority() { // given a job definition JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // with an overriding priority ClockUtil.setCurrentTime(new Date(System.currentTimeMillis())); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // when I clear that priority ClockUtil.setCurrentTime(new Date(System.currentTimeMillis() + 10000)); managementService.clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then this is accessible via the op log UserOperationLogEntry userOperationLogEntry = historyService.createUserOperationLogQuery() .orderByTimestamp().desc().listPage(0, 1).get(0); assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.JOB_DEFINITION, userOperationLogEntry.getEntityType()); assertEquals(jobDefinition.getId(), userOperationLogEntry.getJobDefinitionId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_SET_PRIORITY, userOperationLogEntry.getOperationType()); assertEquals("overridingPriority", userOperationLogEntry.getProperty()); assertNull(userOperationLogEntry.getNewValue()); assertEquals("42", userOperationLogEntry.getOrgValue()); assertEquals(USER_ID, userOperationLogEntry.getUserId()); assertEquals(jobDefinition.getProcessDefinitionId(), userOperationLogEntry.getProcessDefinitionId()); assertEquals(jobDefinition.getProcessDefinitionKey(), userOperationLogEntry.getProcessDefinitionKey()); assertEquals(deploymentId, userOperationLogEntry.getDeploymentId()); }
public static UserOperationLogEntryDto map(UserOperationLogEntry entry) { UserOperationLogEntryDto dto = new UserOperationLogEntryDto(); dto.id = entry.getId(); dto.deploymentId = entry.getDeploymentId(); dto.processDefinitionId = entry.getProcessDefinitionId(); dto.processDefinitionKey = entry.getProcessDefinitionKey(); dto.processInstanceId = entry.getProcessInstanceId(); dto.executionId = entry.getExecutionId(); dto.caseDefinitionId = entry.getCaseDefinitionId(); dto.caseInstanceId = entry.getCaseInstanceId(); dto.caseExecutionId = entry.getCaseExecutionId(); dto.taskId = entry.getTaskId(); dto.jobId = entry.getJobId(); dto.jobDefinitionId = entry.getJobDefinitionId(); dto.batchId = entry.getBatchId(); dto.userId = entry.getUserId(); dto.timestamp = entry.getTimestamp(); dto.operationId = entry.getOperationId(); dto.operationType = entry.getOperationType(); dto.entityType = entry.getEntityType(); dto.property = entry.getProperty(); dto.orgValue = entry.getOrgValue(); dto.newValue = entry.getNewValue(); dto.removalTime = entry.getRemovalTime(); dto.rootProcessInstanceId = entry.getRootProcessInstanceId(); return dto; }
public static UserOperationLogEntryDto map(UserOperationLogEntry entry) { UserOperationLogEntryDto dto = new UserOperationLogEntryDto(); dto.id = entry.getId(); dto.deploymentId = entry.getDeploymentId(); dto.processDefinitionId = entry.getProcessDefinitionId(); dto.processDefinitionKey = entry.getProcessDefinitionKey(); dto.processInstanceId = entry.getProcessInstanceId(); dto.executionId = entry.getExecutionId(); dto.caseDefinitionId = entry.getCaseDefinitionId(); dto.caseInstanceId = entry.getCaseInstanceId(); dto.caseExecutionId = entry.getCaseExecutionId(); dto.taskId = entry.getTaskId(); dto.jobId = entry.getJobId(); dto.jobDefinitionId = entry.getJobDefinitionId(); dto.batchId = entry.getBatchId(); dto.userId = entry.getUserId(); dto.timestamp = entry.getTimestamp(); dto.operationId = entry.getOperationId(); dto.operationType = entry.getOperationType(); dto.entityType = entry.getEntityType(); dto.property = entry.getProperty(); dto.orgValue = entry.getOrgValue(); dto.newValue = entry.getNewValue(); dto.removalTime = entry.getRemovalTime(); dto.rootProcessInstanceId = entry.getRootProcessInstanceId(); return dto; }
@Test public void testLogCreationForOneExternalTaskId() { // given rule.getIdentityService().setAuthenticatedUserId("userId"); // when ExternalTask externalTask = externalTaskService.createExternalTaskQuery().processInstanceId(processInstanceIds.get(0)).singleResult(); externalTaskService.setRetries(externalTask.getId(), 5); rule.getIdentityService().clearAuthentication(); // then List<UserOperationLogEntry> opLogEntries = rule.getHistoryService().createUserOperationLogQuery().list(); Assert.assertEquals(1, opLogEntries.size()); Map<String, UserOperationLogEntry> entries = asMap(opLogEntries); UserOperationLogEntry retriesEntry = entries.get("retries"); Assert.assertNotNull(retriesEntry); Assert.assertEquals("ProcessInstance", retriesEntry.getEntityType()); Assert.assertEquals("SetExternalTaskRetries", retriesEntry.getOperationType()); Assert.assertEquals(externalTask.getProcessInstanceId(), retriesEntry.getProcessInstanceId()); Assert.assertEquals(externalTask.getProcessDefinitionId(), retriesEntry.getProcessDefinitionId()); Assert.assertEquals(externalTask.getProcessDefinitionKey(), retriesEntry.getProcessDefinitionKey()); Assert.assertNull(retriesEntry.getOrgValue()); Assert.assertEquals("5", retriesEntry.getNewValue()); }
Assert.assertEquals("ProcessInstance", asyncEntry.getEntityType()); Assert.assertEquals("ModifyProcessInstance", asyncEntry.getOperationType()); Assert.assertEquals(processDefinition.getId(), asyncEntry.getProcessDefinitionId()); Assert.assertEquals("ProcessInstance", numInstancesEntry.getEntityType()); Assert.assertEquals("ModifyProcessInstance", numInstancesEntry.getOperationType()); Assert.assertEquals(processDefinition.getId(), numInstancesEntry.getProcessDefinitionId());
assertNotNull(logDuplicateFilterEnabledProperty); assertEquals(EntityTypes.DEPLOYMENT, logDuplicateFilterEnabledProperty.getEntityType()); assertEquals(deployment.getId(), logDuplicateFilterEnabledProperty.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_CREATE, logDuplicateFilterEnabledProperty.getOperationType()); assertNotNull(logDeployChangedOnlyProperty); assertEquals(EntityTypes.DEPLOYMENT, logDeployChangedOnlyProperty.getEntityType()); assertEquals(deployment.getId(), logDeployChangedOnlyProperty.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_CREATE, logDeployChangedOnlyProperty.getOperationType());
public void assertUserOperationLogs() { List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery().list(); UserOperationLogQuery userOperationLogQuery = historyService .createUserOperationLogQuery() .operationType(UserOperationLogEntry.OPERATION_TYPE_DELETE); List<UserOperationLogEntry> userOperationLogs = userOperationLogQuery.list(); assertEquals(3, userOperationLogs.size()); for (ProcessDefinition processDefinition: processDefinitions) { UserOperationLogEntry userOperationLogEntry = userOperationLogQuery .deploymentId(processDefinition.getDeploymentId()).singleResult(); assertEquals(EntityTypes.PROCESS_DEFINITION, userOperationLogEntry.getEntityType()); assertEquals(processDefinition.getId(), userOperationLogEntry.getProcessDefinitionId()); assertEquals(processDefinition.getKey(), userOperationLogEntry.getProcessDefinitionKey()); assertEquals(processDefinition.getDeploymentId(), userOperationLogEntry.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_DELETE, userOperationLogEntry.getOperationType()); assertEquals("cascade", userOperationLogEntry.getProperty()); assertFalse(Boolean.valueOf(userOperationLogEntry.getOrgValue())); assertTrue(Boolean.valueOf(userOperationLogEntry.getNewValue())); assertEquals(USER_ID, userOperationLogEntry.getUserId()); assertNull(userOperationLogEntry.getJobDefinitionId()); assertNull(userOperationLogEntry.getProcessInstanceId()); assertNull(userOperationLogEntry.getCaseInstanceId()); assertNull(userOperationLogEntry.getCaseDefinitionId()); } assertEquals(6, historyService.createUserOperationLogQuery().count()); }
Assert.assertEquals("ProcessInstance", asyncEntry.getEntityType()); Assert.assertEquals("RestartProcessInstance", asyncEntry.getOperationType()); Assert.assertEquals(processDefinition.getId(), asyncEntry.getProcessDefinitionId()); Assert.assertEquals("ProcessInstance", numInstancesEntry.getEntityType()); Assert.assertEquals("RestartProcessInstance", numInstancesEntry.getOperationType()); Assert.assertEquals(processDefinition.getId(), numInstancesEntry.getProcessDefinitionId());
public void testCreateDeployment() { // when Deployment deployment = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addModelInstance(RESOURCE_NAME, createProcessWithServiceTask(PROCESS_KEY)) .deploy(); // then UserOperationLogEntry userOperationLogEntry = historyService.createUserOperationLogQuery().singleResult(); assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.DEPLOYMENT, userOperationLogEntry.getEntityType()); assertEquals(deployment.getId(), userOperationLogEntry.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_CREATE, userOperationLogEntry.getOperationType()); assertEquals("duplicateFilterEnabled", userOperationLogEntry.getProperty()); assertNull(userOperationLogEntry.getOrgValue()); assertFalse(Boolean.valueOf(userOperationLogEntry.getNewValue())); assertEquals(USER_ID, userOperationLogEntry.getUserId()); assertNull(userOperationLogEntry.getJobDefinitionId()); assertNull(userOperationLogEntry.getProcessInstanceId()); assertNull(userOperationLogEntry.getProcessDefinitionId()); assertNull(userOperationLogEntry.getProcessDefinitionKey()); assertNull(userOperationLogEntry.getCaseInstanceId()); assertNull(userOperationLogEntry.getCaseDefinitionId()); }
public void testCreateDeploymentPa() { // given EmbeddedProcessApplication application = new EmbeddedProcessApplication(); // when Deployment deployment = repositoryService .createDeployment(application.getReference()) .name(DEPLOYMENT_NAME) .addModelInstance(RESOURCE_NAME, createProcessWithServiceTask(PROCESS_KEY)) .deploy(); // then UserOperationLogEntry userOperationLogEntry = historyService.createUserOperationLogQuery().singleResult(); assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.DEPLOYMENT, userOperationLogEntry.getEntityType()); assertEquals(deployment.getId(), userOperationLogEntry.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_CREATE, userOperationLogEntry.getOperationType()); assertEquals("duplicateFilterEnabled", userOperationLogEntry.getProperty()); assertNull(userOperationLogEntry.getOrgValue()); assertFalse(Boolean.valueOf(userOperationLogEntry.getNewValue())); assertEquals(USER_ID, userOperationLogEntry.getUserId()); assertNull(userOperationLogEntry.getJobDefinitionId()); assertNull(userOperationLogEntry.getProcessInstanceId()); assertNull(userOperationLogEntry.getProcessDefinitionId()); assertNull(userOperationLogEntry.getProcessDefinitionKey()); assertNull(userOperationLogEntry.getCaseInstanceId()); assertNull(userOperationLogEntry.getCaseDefinitionId()); }
assertNotNull(log); assertEquals(EntityTypes.PROCESS_DEFINITION, log.getEntityType()); assertEquals(procDef.getId(), log.getProcessDefinitionId()); assertEquals(procDef.getKey(), log.getProcessDefinitionKey());
@Deployment(resources = {"org/camunda/bpm/engine/test/history/asyncTaskProcess.bpmn20.xml"}) public void testSetOverridingPriority() { // given a job definition JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // when I set a job priority managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // then an op log entry is written UserOperationLogEntry userOperationLogEntry = historyService.createUserOperationLogQuery().singleResult(); assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.JOB_DEFINITION, userOperationLogEntry.getEntityType()); assertEquals(jobDefinition.getId(), userOperationLogEntry.getJobDefinitionId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_SET_PRIORITY, userOperationLogEntry.getOperationType()); assertEquals("overridingPriority", userOperationLogEntry.getProperty()); assertEquals("42", userOperationLogEntry.getNewValue()); assertEquals(null, userOperationLogEntry.getOrgValue()); assertEquals(USER_ID, userOperationLogEntry.getUserId()); assertEquals(jobDefinition.getProcessDefinitionId(), userOperationLogEntry.getProcessDefinitionId()); assertEquals(jobDefinition.getProcessDefinitionKey(), userOperationLogEntry.getProcessDefinitionKey()); assertEquals(deploymentId, userOperationLogEntry.getDeploymentId()); }
public void testDeleteDeployment() { // given Deployment deployment = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addModelInstance(RESOURCE_NAME, createProcessWithServiceTask(PROCESS_KEY)) .deploy(); UserOperationLogQuery query = historyService .createUserOperationLogQuery() .operationType(UserOperationLogEntry.OPERATION_TYPE_DELETE); // when repositoryService.deleteDeployment(deployment.getId(), false); // then assertEquals(1, query.count()); UserOperationLogEntry log = query.singleResult(); assertNotNull(log); assertEquals(EntityTypes.DEPLOYMENT, log.getEntityType()); assertEquals(deployment.getId(), log.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_DELETE, log.getOperationType()); assertEquals("cascade", log.getProperty()); assertNull(log.getOrgValue()); assertFalse(Boolean.valueOf(log.getNewValue())); assertEquals(USER_ID, log.getUserId()); assertNull(log.getJobDefinitionId()); assertNull(log.getProcessInstanceId()); assertNull(log.getProcessDefinitionId()); assertNull(log.getProcessDefinitionKey()); assertNull(log.getCaseInstanceId()); assertNull(log.getCaseDefinitionId()); }
public void testDeleteDeploymentCascading() { // given Deployment deployment = repositoryService .createDeployment() .name(DEPLOYMENT_NAME) .addModelInstance(RESOURCE_NAME, createProcessWithServiceTask(PROCESS_KEY)) .deploy(); UserOperationLogQuery query = historyService .createUserOperationLogQuery() .operationType(UserOperationLogEntry.OPERATION_TYPE_DELETE); // when repositoryService.deleteDeployment(deployment.getId(), true); // then assertEquals(1, query.count()); UserOperationLogEntry log = query.singleResult(); assertNotNull(log); assertEquals(EntityTypes.DEPLOYMENT, log.getEntityType()); assertEquals(deployment.getId(), log.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_DELETE, log.getOperationType()); assertEquals("cascade", log.getProperty()); assertNull(log.getOrgValue()); assertTrue(Boolean.valueOf(log.getNewValue())); assertEquals(USER_ID, log.getUserId()); assertNull(log.getJobDefinitionId()); assertNull(log.getProcessInstanceId()); assertNull(log.getProcessDefinitionId()); assertNull(log.getProcessDefinitionKey()); assertNull(log.getCaseInstanceId()); assertNull(log.getCaseDefinitionId()); }
@Test @Deployment(resources = { ONE_TASK_PROCESS }) public void testQueryProcessInstanceModificationOperation() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess"); String processInstanceId = processInstance.getId(); ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().singleResult(); runtimeService .createProcessInstanceModification(processInstance.getId()) .startBeforeActivity("theTask") .execute(); UserOperationLogQuery logQuery = query() .entityType(EntityTypes.PROCESS_INSTANCE) .operationType(UserOperationLogEntry.OPERATION_TYPE_MODIFY_PROCESS_INSTANCE); assertEquals(1, logQuery.count()); UserOperationLogEntry logEntry = logQuery.singleResult(); assertEquals(processInstanceId, logEntry.getProcessInstanceId()); assertEquals(processInstance.getProcessDefinitionId(), logEntry.getProcessDefinitionId()); assertEquals(definition.getKey(), logEntry.getProcessDefinitionKey()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_MODIFY_PROCESS_INSTANCE, logEntry.getOperationType()); assertEquals(EntityTypes.PROCESS_INSTANCE, logEntry.getEntityType()); assertNull(logEntry.getProperty()); assertNull(logEntry.getOrgValue()); assertNull(logEntry.getNewValue()); }
@Deployment(resources = {ONE_TASK_PROCESS}) public void testQueryProcessInstanceModificationOperation() { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess"); String processInstanceId = processInstance.getId(); ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().singleResult(); runtimeService .createProcessInstanceModification(processInstance.getId()) .startBeforeActivity("theTask") .execute(); UserOperationLogQuery logQuery = query() .entityType(EntityTypes.PROCESS_INSTANCE) .operationType(UserOperationLogEntry.OPERATION_TYPE_MODIFY_PROCESS_INSTANCE); assertEquals(1, logQuery.count()); UserOperationLogEntry logEntry = logQuery.singleResult(); assertEquals(processInstanceId, logEntry.getProcessInstanceId()); assertEquals(processInstance.getProcessDefinitionId(), logEntry.getProcessDefinitionId()); assertEquals(definition.getKey(), logEntry.getProcessDefinitionKey()); assertEquals(deploymentId, logEntry.getDeploymentId()); assertEquals(UserOperationLogEntry.OPERATION_TYPE_MODIFY_PROCESS_INSTANCE, logEntry.getOperationType()); assertEquals(EntityTypes.PROCESS_INSTANCE, logEntry.getEntityType()); assertNull(logEntry.getProperty()); assertNull(logEntry.getOrgValue()); assertNull(logEntry.getNewValue()); }
assertNotNull(userOperationLogEntry); assertEquals(EntityTypes.JOB, userOperationLogEntry.getEntityType()); assertEquals(job.getId(), userOperationLogEntry.getJobId());