DefaultJobService implements JobService { @Override public void restartJobExecution(final Long jobExecutionId) { try { this.jobOperator.restart(jobExecutionId); } catch (final Exception e) { throw new SpringBatchLightminApplicationException(e, e.getMessage()); } } DefaultJobService(final JobOperator jobOperator,
                             final JobRegistry jobRegistry,
                             final JobExplorer jobExplorer,
                             final LightminJobExecutionDao lightminJobExecutionDao); @Override int getJobInstanceCount(final String jobName); @Override int getJobExecutionCount(final JobInstance jobInstance); @Override Set<String> getJobNames(); @Override Job getJobByName(final String jobName); @Override Collection<JobInstance> getJobInstances(final String jobName, final int startIndex, final int pageSize); @Override Collection<JobExecution> getJobExecutions(final JobInstance jobInstance); @Override Collection<JobExecution> getJobExecutions(final JobInstance jobInstance, final int start, final int count); @Override JobExecution getJobExecution(final Long jobExecutionId); @Override JobInstance getJobInstance(final Long jobInstanceId); @Override void attachJobInstance(final JobExecution jobExecution); @Override void restartJobExecution(final Long jobExecutionId); @Override void stopJobExecution(final Long jobExecutionId); @Override JobParameters getLastJobParameters(final String jobName); @Override void afterPropertiesSet();  }
@Test public void restartJobExecutionTest() { final Long jobExecutionId = 10L; try { this.jobService.restartJobExecution(jobExecutionId); verify(this.jobOperator, times(1)).restart(jobExecutionId); } catch (final Exception e) { fail(e.getMessage()); } }
@SuppressWarnings("unchecked") @Test(expected = SpringBatchLightminApplicationException.class) public void restartJobExecutionExceptionTest() throws JobParametersInvalidException, JobRestartException, JobInstanceAlreadyCompleteException, NoSuchJobExecutionException, NoSuchJobException { final Long jobExecutionId = 10L; when(this.jobOperator.restart(jobExecutionId)).thenThrow(NoSuchJobExecutionException.class); this.jobService.restartJobExecution(jobExecutionId); }