@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/jobPrioProcess.bpmn20.xml") public void testGetJobDefinitionDefaultPriority() { // with a process with job definitions deployed // then the definitions have a default null priority, meaning that they don't override the // value in the BPMN XML List<JobDefinition> jobDefinitions = managementService.createJobDefinitionQuery().list(); assertEquals(4, jobDefinitions.size()); assertNull(jobDefinitions.get(0).getOverridingJobPriority()); assertNull(jobDefinitions.get(1).getOverridingJobPriority()); assertNull(jobDefinitions.get(2).getOverridingJobPriority()); assertNull(jobDefinitions.get(3).getOverridingJobPriority()); }
public JobDefinition build() { JobDefinition mockJobDefinition = mock(JobDefinition.class); when(mockJobDefinition.getId()).thenReturn(id); when(mockJobDefinition.getActivityId()).thenReturn(activityId); when(mockJobDefinition.getJobConfiguration()).thenReturn(jobConfiguration); when(mockJobDefinition.getOverridingJobPriority()).thenReturn(jobPriority); when(mockJobDefinition.getJobType()).thenReturn(jobType); when(mockJobDefinition.getProcessDefinitionId()).thenReturn(processDefinitionId); when(mockJobDefinition.getProcessDefinitionKey()).thenReturn(processDefinitionKey); when(mockJobDefinition.isSuspended()).thenReturn(suspended); when(mockJobDefinition.getTenantId()).thenReturn(tenantId); return mockJobDefinition; }
public static JobDefinitionDto fromJobDefinition(JobDefinition definition) { JobDefinitionDto dto = new JobDefinitionDto(); dto.id = definition.getId(); dto.processDefinitionId = definition.getProcessDefinitionId(); dto.processDefinitionKey = definition.getProcessDefinitionKey(); dto.jobType = definition.getJobType(); dto.jobConfiguration = definition.getJobConfiguration(); dto.activityId = definition.getActivityId(); dto.suspended = definition.isSuspended(); dto.overridingJobPriority = definition.getOverridingJobPriority(); dto.tenantId = definition.getTenantId(); return dto; }
public static JobDefinitionDto fromJobDefinition(JobDefinition definition) { JobDefinitionDto dto = new JobDefinitionDto(); dto.id = definition.getId(); dto.processDefinitionId = definition.getProcessDefinitionId(); dto.processDefinitionKey = definition.getProcessDefinitionKey(); dto.jobType = definition.getJobType(); dto.jobConfiguration = definition.getJobConfiguration(); dto.activityId = definition.getActivityId(); dto.suspended = definition.isSuspended(); dto.overridingJobPriority = definition.getOverridingJobPriority(); dto.tenantId = definition.getTenantId(); return dto; }
@Test public void testSetOverridingJobPriorityWithAuthenticatedTenant() { JobDefinition jobDefinition = managementService.createJobDefinitionQuery().list().get(0); identityService.setAuthentication("aUserId", null, Arrays.asList(TENANT_ONE)); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), is(1701L)); }
@Test public void testSetOverridingJobPriorityWithCascadeAndAuthenticatedTenant() { JobDefinition jobDefinition = managementService.createJobDefinitionQuery().list().get(0); identityService.setAuthentication("aUserId", null, Arrays.asList(TENANT_ONE)); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701, true); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), is(1701L)); }
@Test public void testClearOverridingJobPriorityWithAuthenticatedTenant() { JobDefinition jobDefinition = managementService.createJobDefinitionQuery().list().get(0); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701); assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), is(1701L)); identityService.setAuthentication("aUserId", null, Arrays.asList(TENANT_ONE)); managementService.clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), nullValue()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/asyncTaskProcess.bpmn20.xml") public void testResetJobDefinitionPriorityWhenPriorityIsNull() { // given a job definition with null priority JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); assertNull(jobDefinition.getOverridingJobPriority()); // when I set a priority managementService.clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then the priority remains unchanged JobDefinition updatedDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult(); assertNull(updatedDefinition.getOverridingJobPriority()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/asyncTaskProcess.bpmn20.xml") public void testSetJobDefinitionPriorityToExtremeValues() { JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // it is possible to set the max long value managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), Long.MAX_VALUE); jobDefinition = managementService.createJobDefinitionQuery().singleResult(); assertEquals(Long.MAX_VALUE, (long) jobDefinition.getOverridingJobPriority()); // it is possible to set the min long value managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), Long.MIN_VALUE + 1); // +1 for informix jobDefinition = managementService.createJobDefinitionQuery().singleResult(); assertEquals(Long.MIN_VALUE + 1, (long) jobDefinition.getOverridingJobPriority()); }
@Test public void testSetOverridingJobPriorityWithDisabledTenantCheck() { JobDefinition jobDefinition = managementService .createJobDefinitionQuery() .list().get(0); identityService.setAuthentication("aUserId", null); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), is(1701L)); }
@Test public void testSetOverridingJobPriorityWithCascadeAndDisabledTenantCheck() { JobDefinition jobDefinition = managementService .createJobDefinitionQuery() .list().get(0); identityService.setAuthentication("aUserId", null); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701, true); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), is(1701L)); }
@Test public void testClearOverridingJobPriorityWithDisabledTenantCheck() { JobDefinition jobDefinition = managementService.createJobDefinitionQuery().list().get(0); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701); identityService.setAuthentication("aUserId", null); engineRule.getProcessEngineConfiguration().setTenantCheckEnabled(false); // then managementService.clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then assertThat(managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult() .getOverridingJobPriority(), nullValue()); }
@Deployment(resources = {"org/camunda/bpm/engine/test/api/mgmt/JobDefinitionQueryTest.testBase.bpmn"}) public void testQueryWithOverridingJobPriority() { // given JobDefinition jobDefinition = managementService.createJobDefinitionQuery().listPage(0, 1).get(0); managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // when JobDefinition queriedDefinition = managementService.createJobDefinitionQuery().withOverridingJobPriority().singleResult(); // then assertNotNull(queriedDefinition); assertEquals(jobDefinition.getId(), queriedDefinition.getId()); assertEquals(42L, (long) queriedDefinition.getOverridingJobPriority()); // and assertEquals(1, managementService.createJobDefinitionQuery().withOverridingJobPriority().count()); }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/authorization/oneIncidentProcess.bpmn20.xml") public void testSetJobDefinitionPriority() { // given JobDefinition jobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); // when authRule .init(scenario) .withUser("userId") .bindResource("processDefinitionKey", "process") .start(); engineRule.getManagementService().setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // then if (authRule.assertScenario(scenario)) { JobDefinition updatedJobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); Assert.assertEquals(42, (long) updatedJobDefinition.getOverridingJobPriority()); } }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/authorization/oneIncidentProcess.bpmn20.xml") public void testResetJobDefinitionPriority() { // given JobDefinition jobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); engineRule.getManagementService().setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // when authRule .init(scenario) .withUser("userId") .bindResource("processDefinitionKey", "process") .start(); engineRule.getManagementService().clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then if (authRule.assertScenario(scenario)) { JobDefinition updatedJobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); Assert.assertNull(updatedJobDefinition.getOverridingJobPriority()); } }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/asyncTaskProcess.bpmn20.xml") public void testResetJobDefinitionPriority() { // given a job definition JobDefinition jobDefinition = managementService.createJobDefinitionQuery().singleResult(); // when I set a priority managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 1701); // and I reset the priority managementService.clearOverridingJobPriorityForJobDefinition(jobDefinition.getId()); // then the job definition priority is still null JobDefinition updatedDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult(); assertNull(updatedDefinition.getOverridingJobPriority()); // and a new job instance does not receive the intermittently set priority runtimeService.createProcessInstanceByKey("asyncTaskProcess") .startBeforeActivity("task") .execute(); Job job = managementService.createJobQuery().singleResult(); assertEquals(EXPECTED_DEFAULT_PRIORITY, job.getPriority()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/jobPrioProcess.bpmn20.xml") public void testSetJobDefinitionPriorityWithCascadeOverridesBpmnPriority() { // given a process instance with a job with default priority and a corresponding job definition ProcessInstance instance = runtimeService.createProcessInstanceByKey("jobPrioProcess") .startBeforeActivity("task2") .execute(); Job job = managementService.createJobQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(job.getJobDefinitionId()).singleResult(); // when I set the job definition's priority managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 72, true); // then the job definition's priority value has changed JobDefinition updatedDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult(); assertEquals(72, (long) updatedDefinition.getOverridingJobPriority()); // the existing job's priority has changed as well Job updatedExistingJob = managementService.createJobQuery().singleResult(); assertEquals(72, updatedExistingJob.getPriority()); // and a new job of that definition receives the updated priority // meaning that the updated priority overrides the priority specified in the BPMN XML runtimeService.createProcessInstanceModification(instance.getId()) .startBeforeActivity("task2") .execute(); Job newJob = getJobThatIsNot(updatedExistingJob); assertEquals(72, newJob.getPriority()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/asyncTaskProcess.bpmn20.xml") public void testSetJobDefinitionPriority() { // given a process instance with a job with default priority and a corresponding job definition ProcessInstance instance = runtimeService.createProcessInstanceByKey("asyncTaskProcess") .startBeforeActivity("task") .execute(); Job job = managementService.createJobQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(job.getJobDefinitionId()).singleResult(); // when I set the job definition's priority managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42); // then the job definition's priority value has changed JobDefinition updatedDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult(); assertEquals(42, (long) updatedDefinition.getOverridingJobPriority()); // the existing job's priority has not changed Job updatedExistingJob = managementService.createJobQuery().singleResult(); assertEquals(job.getPriority(), updatedExistingJob.getPriority()); // and a new job of that definition receives the updated priority runtimeService.createProcessInstanceModification(instance.getId()) .startBeforeActivity("task") .execute(); Job newJob = getJobThatIsNot(updatedExistingJob); assertEquals(42, newJob.getPriority()); }
@Deployment(resources = "org/camunda/bpm/engine/test/api/mgmt/asyncTaskProcess.bpmn20.xml") public void testSetJobDefinitionPriorityWithCascade() { // given a process instance with a job with default priority and a corresponding job definition ProcessInstance instance = runtimeService.createProcessInstanceByKey("asyncTaskProcess") .startBeforeActivity("task") .execute(); Job job = managementService.createJobQuery().singleResult(); JobDefinition jobDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(job.getJobDefinitionId()).singleResult(); // when I set the job definition's priority managementService.setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 52, true); // then the job definition's priority value has changed JobDefinition updatedDefinition = managementService.createJobDefinitionQuery() .jobDefinitionId(jobDefinition.getId()).singleResult(); assertEquals(52, (long) updatedDefinition.getOverridingJobPriority()); // the existing job's priority has changed as well Job updatedExistingJob = managementService.createJobQuery().singleResult(); assertEquals(52, updatedExistingJob.getPriority()); // and a new job of that definition receives the updated priority runtimeService.createProcessInstanceModification(instance.getId()) .startBeforeActivity("task") .execute(); Job newJob = getJobThatIsNot(updatedExistingJob); assertEquals(52, newJob.getPriority()); }
@Test @Deployment(resources = "org/camunda/bpm/engine/test/api/authorization/oneIncidentProcess.bpmn20.xml") public void testSetJobDefinitionPriority() { // given JobDefinition jobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); ProcessInstance instance = engineRule.getRuntimeService().startProcessInstanceByKey("process"); Job job = engineRule.getManagementService().createJobQuery().singleResult(); // when authRule .init(scenario) .withUser("userId") .bindResource("processDefinitionKey", "process") .bindResource("processInstanceId", instance.getId()) .start(); engineRule.getManagementService().setOverridingJobPriorityForJobDefinition(jobDefinition.getId(), 42, true); // then if (authRule.assertScenario(scenario)) { jobDefinition = engineRule.getManagementService().createJobDefinitionQuery().singleResult(); Assert.assertEquals(42L, (long) jobDefinition.getOverridingJobPriority()); job = engineRule.getManagementService().createJobQuery().singleResult(); Assert.assertEquals(42L, job.getPriority()); } }