SchedulerService { public Job updateBlockout( String jobId, JobScheduleRequest jobScheduleRequest ) throws IllegalAccessException, SchedulerException, IOException { if ( canAdminister() ) { boolean isJobRemoved = removeJob( jobId ); if ( isJobRemoved ) { Job job = addBlockout( jobScheduleRequest ); return job; } } throw new IllegalAccessException(); }  Job createJob( JobScheduleRequest scheduleRequest ); Job updateJob( JobScheduleRequest scheduleRequest ); Job triggerNow( String jobId ); Job getContentCleanerJob(); List<RepositoryFileDto> doGetGeneratedContentForSchedule( String lineageId ); Job getJob( String jobId ); boolean isScheduleAllowed(); boolean isScheduleAllowed( String id ); IJobFilter getJobFilter( boolean canAdminister, String principalName ); String doGetCanSchedule(); String getState(); String start(); String pause(); String shutdown(); JobState pauseJob( String jobId ); JobState resumeJob( String jobId ); boolean removeJob( String jobId ); Job getJobInfo( String jobId ); List<Job> getBlockOutJobs(); boolean hasBlockouts(); boolean willFire( IJobTrigger trigger ); boolean shouldFireNow(); Job addBlockout( JobScheduleRequest jobScheduleRequest ); Job updateBlockout( String jobId, JobScheduleRequest jobScheduleRequest ); BlockStatusProxy getBlockStatus( JobScheduleRequest jobScheduleRequest ); JobScheduleRequest getJobInfo(); JobState getJobState( JobRequest jobRequest ); Class<IAction> getAction( String actionClass ); IUnifiedRepository getRepository(); IScheduler getScheduler(); IAuthorizationPolicy getPolicy(); boolean getAutoCreateUniqueFilename( final JobScheduleRequest scheduleRequest ); String getAppendDateFormat( final JobScheduleRequest scheduleRequest ); List<Job> getJobs();  }
@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( anyString() ); doReturn( jobMock ).when( schedulerService ).addBlockout( jobScheduleRequest ); Job job = schedulerService.updateBlockout( jobId, jobScheduleRequest ); assertNotNull( job ); verify( schedulerService ).canAdminister(); verify( schedulerService ).removeJob( anyString() ); verify( schedulerService ).addBlockout( jobScheduleRequest ); }