use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testAddBlockout.
@Test
public void testAddBlockout() throws Exception {
JobScheduleRequest jobScheduleRequest = mock(JobScheduleRequest.class);
Job jobMock = mock(Job.class);
JobScheduleParam jobScheduleParamMock1 = mock(JobScheduleParam.class);
JobScheduleParam jobScheduleParamMock2 = mock(JobScheduleParam.class);
List<JobScheduleParam> jobScheduleParams = new ArrayList<>();
doReturn(true).when(schedulerService).canAdminister();
doNothing().when(jobScheduleRequest).setActionClass(nullable(String.class));
doReturn(jobScheduleParams).when(jobScheduleRequest).getJobParameters();
doReturn(jobScheduleParamMock1).when(schedulerService).getJobScheduleParam(nullable(String.class), nullable(String.class));
doReturn(jobScheduleParamMock2).when(schedulerService).getJobScheduleParam(nullable(String.class), anyLong());
doReturn(jobMock).when(schedulerService).createJob(any(JobScheduleRequest.class));
Job job = schedulerService.addBlockout(jobScheduleRequest);
assertNotNull(job);
assertEquals(2, jobScheduleParams.size());
verify(schedulerService).canAdminister();
verify(jobScheduleRequest).setActionClass(nullable(String.class));
verify(jobScheduleRequest, times(2)).getJobParameters();
verify(schedulerService).createJob(any(JobScheduleRequest.class));
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testGetJobState.
@Test
public void testGetJobState() throws Exception {
JobRequest mockJobRequest = mock(JobRequest.class);
String jobId = "jobId";
doReturn(jobId).when(mockJobRequest).getJobId();
IPentahoSession mockSession = mock(IPentahoSession.class);
doReturn(mockSession).when(schedulerService).getSession();
Job mockJob = mock(Job.class);
doReturn(mockJob).when(schedulerService).getJob(jobId);
doReturn(Job.JobState.BLOCKED).when(mockJob).getState();
String username = "username";
doReturn(username).when(mockJob).getUserName();
doReturn(username).when(mockSession).getName();
// Test 1
doReturn(true).when(schedulerService).isScheduleAllowed();
Job.JobState testState = schedulerService.getJobState(mockJobRequest);
assertEquals(Job.JobState.BLOCKED, testState);
// Test 2
doReturn(false).when(schedulerService).isScheduleAllowed();
testState = schedulerService.getJobState(mockJobRequest);
assertEquals(Job.JobState.BLOCKED, testState);
verify(mockJobRequest, times(2)).getJobId();
verify(schedulerService, times(1)).getSession();
verify(schedulerService, times(2)).getJob(jobId);
verify(mockJob, times(2)).getState();
verify(mockJob, times(1)).getUserName();
verify(mockSession, times(1)).getName();
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testRemoveJobException.
@Test
public void testRemoveJobException() throws SchedulerException {
Job job = mock(Job.class);
doReturn(job).when(schedulerService).getJob(nullable(String.class));
doReturn(true).when(schedulerService).isScheduleAllowed();
doThrow(new SchedulerException("pause-exception")).when(schedulerService.scheduler).removeJob(nullable(String.class));
try {
schedulerService.removeJob("job-id");
} catch (SchedulerException e) {
assertEquals("pause-exception", e.getMessage());
}
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzSchedulerIT method getJobTest.
@Test
public void getJobTest() throws Exception {
final CronTrigger cronTrigger = mock(CronTrigger.class);
when(cronTrigger.getCronExpression()).thenReturn(CRON_EXPRESSION);
when(quartzScheduler.getTriggersOfJob(eq(JOB_ID), eq(USER_NAME))).thenReturn(new Trigger[] { cronTrigger });
setJobDataMap(USER_NAME);
final Job job = scheduler.getJob(JOB_ID);
assertEquals(JOB_ID, job.getJobId());
assertEquals(jobDetails, job.getJobParams());
assertEquals(USER_NAME, job.getUserName());
assertEquals(JOB_NAME, job.getJobName());
assertEquals(Job.JobState.NORMAL, job.getState());
}
use of com.google.cloud.talent.v4.Job in project pentaho-platform by pentaho.
the class QuartzSchedulerIT method createJobTest_ForUser.
@Test
public void createJobTest_ForUser() throws Exception {
String actionId = "actionId";
ComplexJobTrigger trigger = getComplexJobTrigger();
IBackgroundExecutionStreamProvider outputStreamProvider = mock(IBackgroundExecutionStreamProvider.class);
Map<String, Serializable> paramMap = new HashMap<>();
paramMap.put(QuartzScheduler.RESERVEDMAPKEY_ACTIONUSER, "ninja");
final Job job = scheduler.createJob(JOB_NAME, paramMap, trigger, outputStreamProvider);
assertNotNull(job);
assertEquals("ninja", job.getUserName());
assertEquals(Job.JobState.NORMAL, job.getState());
}
Aggregations