public void testQuerySortingDesc() { // exclude jobs without tenant id because of database-specific ordering List<Job> jobs = managementService.createJobQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .desc() .list(); assertThat(jobs.size(), is(2)); assertThat(jobs.get(0).getTenantId(), is(TENANT_TWO)); assertThat(jobs.get(1).getTenantId(), is(TENANT_ONE)); }
public void testQuerySortingAsc() { // exclude jobs without tenant id because of database-specific ordering List<Job> jobs = managementService.createJobQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(jobs.size(), is(2)); assertThat(jobs.get(0).getTenantId(), is(TENANT_ONE)); assertThat(jobs.get(1).getTenantId(), is(TENANT_TWO)); }
public Job build() { Job mockJob = mock(Job.class); when(mockJob.getId()).thenReturn(id); when(mockJob.getDuedate()).thenReturn(dueDate); when(mockJob.getExceptionMessage()).thenReturn(exceptionMessage); when(mockJob.getExecutionId()).thenReturn(executionId); when(mockJob.getProcessInstanceId()).thenReturn(processInstanceId); when(mockJob.getProcessDefinitionId()).thenReturn(processDefinitionId); when(mockJob.getProcessDefinitionKey()).thenReturn(processDefinitionKey); when(mockJob.getRetries()).thenReturn(retries); when(mockJob.isSuspended()).thenReturn(suspended); when(mockJob.getPriority()).thenReturn(priority); when(mockJob.getJobDefinitionId()).thenReturn(jobDefinitionId); when(mockJob.getTenantId()).thenReturn(tenantId); when(mockJob.getCreateTime()).thenReturn(createTime); return mockJob; }
@Test public void testBatchJobsTenantId() { // given Batch batch = batchHelper.migrateProcessInstanceAsync(tenant1Definition, tenant1Definition); // then Job seedJob = batchHelper.getSeedJob(batch); Assert.assertEquals(TENANT_ONE, seedJob.getTenantId()); batchHelper.executeSeedJob(batch); List<Job> migrationJob = batchHelper.getExecutionJobs(batch); Assert.assertEquals(TENANT_ONE, migrationJob.get(0).getTenantId()); Job monitorJob = batchHelper.getMonitorJob(batch); Assert.assertEquals(TENANT_ONE, monitorJob.getTenantId()); }
@Test public void startProcessInstanceWithTenantId() { testRule.deployForTenant(TENANT_ONE, PROCESS); Job job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); assertThat(processInstance, is(notNullValue())); assertThat(processInstance.getTenantId(), is(TENANT_ONE)); }
public void testPropagateTenantIdToAsyncJob() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); startProcessInstance(PROCESS_DEFINITION_KEY); // the job is created when the asynchronous activity is reached Job job = managementService.createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from job definition assertThat(job.getTenantId(), is(TENANT_ID)); }
public void testPropagateTenantIdToIntermediateTimerJob() { deploymentForTenant(TENANT_ID, Bpmn.createExecutableProcess(PROCESS_DEFINITION_KEY) .startEvent() .intermediateCatchEvent() .timerWithDuration("PT1M") .endEvent() .done()); startProcessInstance(PROCESS_DEFINITION_KEY); // the job is created when the timer event is reached Job job = managementService.createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from job definition assertThat(job.getTenantId(), is(TENANT_ID)); }
public static JobDto fromJob(Job job) { JobDto dto = new JobDto(); dto.id = job.getId(); dto.jobDefinitionId = job.getJobDefinitionId(); dto.processInstanceId = job.getProcessInstanceId(); dto.processDefinitionId = job.getProcessDefinitionId(); dto.processDefinitionKey = job.getProcessDefinitionKey(); dto.executionId = job.getExecutionId(); dto.exceptionMessage = job.getExceptionMessage(); dto.retries = job.getRetries(); dto.dueDate = job.getDuedate(); dto.suspended = job.isSuspended(); dto.priority = job.getPriority(); dto.tenantId = job.getTenantId(); dto.createTime = job.getCreateTime(); return dto; }
@Test public void propagateTenantIdToIntermediateTimerJob() { testRule.deploy(Bpmn.createExecutableProcess("process") .startEvent() .intermediateCatchEvent() .timerWithDuration("PT1M") .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); // the job is created when the timer event is reached Job job = engineRule.getManagementService().createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from execution assertThat(job.getTenantId(), is(TENANT_ID)); }
@Test public void suspendProcessInstanceIncludingJobForNonTenant() { // given activated jobs JobQuery query = engineRule.getManagementService().createJobQuery(); assertThat(query.active().count(), is(3L)); assertThat(query.suspended().count(), is(0L)); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .suspend(); assertThat(query.active().count(), is(2L)); assertThat(query.suspended().count(), is(1L)); assertThat(query.suspended().singleResult().getTenantId(), is(nullValue())); }
public static JobDto fromJob(Job job) { JobDto dto = new JobDto(); dto.id = job.getId(); dto.jobDefinitionId = job.getJobDefinitionId(); dto.processInstanceId = job.getProcessInstanceId(); dto.processDefinitionId = job.getProcessDefinitionId(); dto.processDefinitionKey = job.getProcessDefinitionKey(); dto.executionId = job.getExecutionId(); dto.exceptionMessage = job.getExceptionMessage(); dto.retries = job.getRetries(); dto.dueDate = job.getDuedate(); dto.suspended = job.isSuspended(); dto.priority = job.getPriority(); dto.tenantId = job.getTenantId(); dto.createTime = job.getCreateTime(); return dto; }
@Test public void propagateTenantIdToAsyncJob() { testRule.deploy(Bpmn.createExecutableProcess("process") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); // the job is created when the asynchronous activity is reached Job job = engineRule.getManagementService().createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from execution assertThat(job.getTenantId(), is(TENANT_ID)); }
@Test public void timerStartEventWithTimerCycle() { testRule.deployForTenant(TENANT_ONE, Bpmn.createExecutableProcess() .startEvent() .timerWithCycle("R2/PT1M") .userTask() .endEvent() .done()); // execute first timer cycle Job job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); // execute second timer cycle job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery(); assertThat(query.tenantIdIn(TENANT_ONE).count(), is(2L)); assertThat(query.withoutTenantId().count(), is(0L)); }
@Test public void activateProcessInstanceIncludingJobForNonTenant() { // given suspended jobs engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .suspend(); JobQuery query = engineRule.getManagementService().createJobQuery(); assertThat(query.active().count(), is(0L)); assertThat(query.suspended().count(), is(3L)); engineRule.getRuntimeService() .updateProcessInstanceSuspensionState() .byProcessDefinitionKey(PROCESS_DEFINITION_KEY) .processDefinitionWithoutTenantId() .activate(); assertThat(query.suspended().count(), is(2L)); assertThat(query.active().count(), is(1L)); assertThat(query.active().singleResult().getTenantId(), is(nullValue())); }
public void testQuerySortingDesc() { // exclude jobs without tenant id because of database-specific ordering List<Job> jobs = managementService.createJobQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .desc() .list(); assertThat(jobs.size(), is(2)); assertThat(jobs.get(0).getTenantId(), is(TENANT_TWO)); assertThat(jobs.get(1).getTenantId(), is(TENANT_ONE)); }
public void testQuerySortingAsc() { // exclude jobs without tenant id because of database-specific ordering List<Job> jobs = managementService.createJobQuery() .tenantIdIn(TENANT_ONE, TENANT_TWO) .orderByTenantId() .asc() .list(); assertThat(jobs.size(), is(2)); assertThat(jobs.get(0).getTenantId(), is(TENANT_ONE)); assertThat(jobs.get(1).getTenantId(), is(TENANT_TWO)); }
Job job = managementService.createJobQuery().jobDefinitionId(modificationBatch.getSeedJobDefinitionId()).singleResult(); assertEquals(TENANT_ONE, job.getTenantId()); managementService.executeJob(job.getId()); managementService.executeJob(pending.getId()); assertEquals(processDefinition.getDeploymentId(), pending.getDeploymentId()); assertEquals(TENANT_ONE, pending.getTenantId());
@Test public void testBatchJobsTenantId() { // given Batch batch = batchHelper.migrateProcessInstanceAsync(tenant1Definition, tenant1Definition); // then Job seedJob = batchHelper.getSeedJob(batch); Assert.assertEquals(TENANT_ONE, seedJob.getTenantId()); batchHelper.executeSeedJob(batch); List<Job> migrationJob = batchHelper.getExecutionJobs(batch); Assert.assertEquals(TENANT_ONE, migrationJob.get(0).getTenantId()); Job monitorJob = batchHelper.getMonitorJob(batch); Assert.assertEquals(TENANT_ONE, monitorJob.getTenantId()); }
@Test public void startProcessInstanceWithTenantId() { testRule.deployForTenant(TENANT_ONE, PROCESS); Job job = managementService.createJobQuery().singleResult(); assertThat(job.getTenantId(), is(TENANT_ONE)); managementService.executeJob(job.getId()); ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().singleResult(); assertThat(processInstance, is(notNullValue())); assertThat(processInstance.getTenantId(), is(TENANT_ONE)); }
@Test public void propagateTenantIdToAsyncJob() { testRule.deploy(Bpmn.createExecutableProcess("process") .startEvent() .userTask() .camundaAsyncBefore() .endEvent() .done()); engineRule.getRuntimeService().startProcessInstanceByKey("process"); // the job is created when the asynchronous activity is reached Job job = engineRule.getManagementService().createJobQuery().singleResult(); assertThat(job, is(notNullValue())); // inherit the tenant id from execution assertThat(job.getTenantId(), is(TENANT_ID)); }