use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testGetJobs.
@Test
public void testGetJobs() throws Exception {
IPentahoSession mockPentahoSession = mock(IPentahoSession.class);
doReturn(mockPentahoSession).when(schedulerService).getSession();
doReturn("admin").when(mockPentahoSession).getName();
doReturn(true).when(schedulerService).canAdminister(mockPentahoSession);
List<Job> mockJobs = new ArrayList<>();
mockJobs.add(mock(Job.class));
doReturn(mockJobs).when(schedulerService.scheduler).getJobs(any(IJobFilter.class));
List<Job> jobs = schedulerService.getJobs();
assertEquals(mockJobs, jobs);
verify(schedulerService, times(1)).getSession();
verify(mockPentahoSession, times(1)).getName();
verify(schedulerService, times(1)).canAdminister(mockPentahoSession);
verify(schedulerService.scheduler, times(1)).getJobs(any(IJobFilter.class));
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testTriggerNow.
@Test
public void testTriggerNow() throws Exception {
JobRequest jobRequest = mock(JobRequest.class);
Job job = mock(Job.class);
doReturn(job).when(schedulerService.scheduler).getJob(nullable(String.class));
doReturn(true).when(schedulerService.policy).isAllowed(nullable(String.class));
doNothing().when(schedulerService.scheduler).triggerNow(nullable(String.class));
// Test 1
Job resultJob1 = schedulerService.triggerNow(jobRequest.getJobId());
assertEquals(job, resultJob1);
// Test 2
doReturn("test").when(job).getUserName();
doReturn(false).when(schedulerService.policy).isAllowed(nullable(String.class));
IPentahoSession pentahoSession = mock(IPentahoSession.class);
doReturn("test").when(pentahoSession).getName();
doReturn(pentahoSession).when(schedulerService).getSession();
Job resultJob2 = schedulerService.triggerNow(jobRequest.getJobId());
assertEquals(job, resultJob2);
verify(schedulerService.scheduler, times(4)).getJob(nullable(String.class));
verify(schedulerService.scheduler, times(2)).triggerNow(nullable(String.class));
verify(schedulerService.policy, times(2)).isAllowed(nullable(String.class));
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testUpdateBlockout.
@Test
public void testUpdateBlockout() throws Exception {
String jobId = "jobId";
JobScheduleRequest jobScheduleRequest = mock(JobScheduleRequest.class);
Job jobMock = mock(Job.class);
doReturn(true).when(schedulerService).canAdminister();
doReturn(true).when(schedulerService).removeJob(nullable(String.class));
doReturn(jobMock).when(schedulerService).addBlockout(jobScheduleRequest);
Job job = schedulerService.updateBlockout(jobId, jobScheduleRequest);
assertNotNull(job);
verify(schedulerService).canAdminister();
verify(schedulerService).removeJob(nullable(String.class));
verify(schedulerService).addBlockout(jobScheduleRequest);
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testUpdateBlockoutException.
@Test
public void testUpdateBlockoutException() throws Exception {
String jobId = "jobId";
JobScheduleRequest jobScheduleRequest = mock(JobScheduleRequest.class);
Job job = mock(Job.class);
// Test 1
doReturn(false).when(schedulerService).canAdminister();
try {
schedulerService.updateBlockout(jobId, jobScheduleRequest);
fail();
} catch (IllegalAccessException e) {
// Should catch the exception
}
// Test 2
doReturn(true).when(schedulerService).canAdminister();
doThrow(new SchedulerException("")).when(schedulerService).removeJob(nullable(String.class));
try {
schedulerService.updateBlockout(jobId, jobScheduleRequest);
fail();
} catch (SchedulerException e) {
// Should catch the exception
}
// Test 3
doReturn(false).when(schedulerService).removeJob(nullable(String.class));
try {
schedulerService.updateBlockout(jobId, jobScheduleRequest);
fail();
} catch (IllegalAccessException e) {
// Should catch the exception
}
// Test 4
doReturn(true).when(schedulerService).removeJob(nullable(String.class));
doThrow(new IOException()).when(schedulerService).addBlockout(jobScheduleRequest);
try {
schedulerService.updateBlockout(jobId, jobScheduleRequest);
fail();
} catch (IOException e) {
// Should catch the exception
}
// Test 5
doThrow(new SchedulerException("")).when(schedulerService).addBlockout(jobScheduleRequest);
try {
schedulerService.updateBlockout(jobId, jobScheduleRequest);
fail();
} catch (SchedulerException e) {
// Should catch the exception
}
verify(schedulerService, times(5)).canAdminister();
verify(schedulerService, times(4)).removeJob(nullable(String.class));
verify(schedulerService, times(2)).addBlockout(jobScheduleRequest);
}
use of com.google.cloud.dataproc.v1beta2.Job in project pentaho-platform by pentaho.
the class SchedulerServiceTest method testPauseJob.
@Test
public void testPauseJob() throws SchedulerException {
Job job = mock(Job.class);
doReturn(job).when(schedulerService).getJob(nullable(String.class));
doReturn(true).when(schedulerService).isScheduleAllowed();
doNothing().when(schedulerService.scheduler).pauseJob(nullable(String.class));
schedulerService.pauseJob("job-id");
}
Aggregations