Search in sources :

Example 86 with Job

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));
}
Also used : IJobFilter(org.pentaho.platform.api.scheduler2.IJobFilter) IPentahoSession(org.pentaho.platform.api.engine.IPentahoSession) ArrayList(java.util.ArrayList) Job(org.pentaho.platform.api.scheduler2.Job) Test(org.junit.Test)

Example 87 with Job

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));
}
Also used : JobRequest(org.pentaho.platform.web.http.api.resources.JobRequest) IPentahoSession(org.pentaho.platform.api.engine.IPentahoSession) Job(org.pentaho.platform.api.scheduler2.Job) Test(org.junit.Test)

Example 88 with Job

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);
}
Also used : Job(org.pentaho.platform.api.scheduler2.Job) JobScheduleRequest(org.pentaho.platform.web.http.api.resources.JobScheduleRequest) Test(org.junit.Test)

Example 89 with Job

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);
}
Also used : SchedulerException(org.pentaho.platform.api.scheduler2.SchedulerException) IOException(java.io.IOException) Job(org.pentaho.platform.api.scheduler2.Job) JobScheduleRequest(org.pentaho.platform.web.http.api.resources.JobScheduleRequest) Test(org.junit.Test)

Example 90 with Job

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");
}
Also used : Job(org.pentaho.platform.api.scheduler2.Job) Test(org.junit.Test)

Aggregations

Job (org.pentaho.platform.api.scheduler2.Job)94 Test (org.junit.Test)69 Serializable (java.io.Serializable)25 SimpleJobTrigger (org.pentaho.platform.api.scheduler2.SimpleJobTrigger)21 HashMap (java.util.HashMap)20 ArrayList (java.util.ArrayList)19 JobScheduleRequest (org.pentaho.platform.web.http.api.resources.JobScheduleRequest)19 ComplexJobTrigger (org.pentaho.platform.api.scheduler2.ComplexJobTrigger)18 SchedulerException (org.pentaho.platform.api.scheduler2.SchedulerException)17 Date (java.util.Date)14 IJobFilter (org.pentaho.platform.api.scheduler2.IJobFilter)14 Job (com.google.cloud.video.transcoder.v1.Job)13 TranscoderServiceClient (com.google.cloud.video.transcoder.v1.TranscoderServiceClient)13 IPentahoSession (org.pentaho.platform.api.engine.IPentahoSession)12 IJobTrigger (org.pentaho.platform.api.scheduler2.IJobTrigger)12 AudioStream (com.google.cloud.video.transcoder.v1.AudioStream)8 JobConfig (com.google.cloud.video.transcoder.v1.JobConfig)8 VideoStream (com.google.cloud.video.transcoder.v1.VideoStream)8 Map (java.util.Map)8 CronJobTrigger (org.pentaho.platform.api.scheduler2.CronJobTrigger)8