private JobExecution getJobExecution(JobInstance jobInstance, BatchStatus batchStatus) { JobExecution jobExecution = new JobExecution(jobInstance, 1L, null, "TestConfig"); if(batchStatus != null) { jobExecution.setStatus(batchStatus); } return jobExecution; } }
@Override public void execute(JobExecution execution) throws UnexpectedJobExecutionException { execution.setStatus(BatchStatus.COMPLETED); execution.setEndTime(new Date()); } });
@Override public void execute(JobExecution execution) throws UnexpectedJobExecutionException { execution.setStatus(BatchStatus.FAILED); execution.setEndTime(new Date()); } });
@Override public void updateJobExecutionStatus(FlowExecutionStatus status) { execution.setStatus(findBatchStatus(status)); exitStatus = exitStatus.and(new ExitStatus(status.getName())); execution.setExitStatus(exitStatus); }
private JobExecution createJobExecution(JobInstance jobInstance, BatchStatus status) { JobExecution jobExecution = new JobExecution(jobInstance, 1L, jobParameters, null); jobExecution.setStatus(status); jobExecution.setStartTime(new Date()); if (status != BatchStatus.STARTED) { jobExecution.setEndTime(new Date()); } return jobExecution; }
@Test(expected = JobRestartException.class) public void testCreateJobExecutionStatusUnknown() throws Exception { jobExecution.setStatus(BatchStatus.UNKNOWN); jobExecution.setEndTime(new Date()); when(jobInstanceDao.getJobInstance("foo", new JobParameters())).thenReturn(jobInstance); when(jobExecutionDao.findJobExecutions(jobInstance)).thenReturn(Arrays.asList(jobExecution)); jobRepository.createJobExecution("foo", new JobParameters()); }
@Override public void execute(JobExecution execution) throws UnexpectedJobExecutionException { assertEquals(1, execution.getJobParameters().getParameters().size()); execution.setStatus(BatchStatus.FAILED); execution.setEndTime(new Date()); jobRepository.update(execution); throw new RuntimeException("FOO"); } @Override
@Test(expected = JobInstanceAlreadyCompleteException.class) public void testCreateJobExecutionAlreadyComplete() throws Exception { jobExecution.setStatus(BatchStatus.COMPLETED); jobExecution.setEndTime(new Date()); when(jobInstanceDao.getJobInstance("foo", new JobParameters())).thenReturn(jobInstance); when(jobExecutionDao.findJobExecutions(jobInstance)).thenReturn(Arrays.asList(jobExecution)); jobRepository.createJobExecution("foo", new JobParameters()); }
@Test(expected = JobExecutionAlreadyRunningException.class) public void testCreateJobExecutionAlreadyRunning() throws Exception { jobExecution.setStatus(BatchStatus.STARTED); jobExecution.setStartTime(new Date()); jobExecution.setEndTime(null); when(jobInstanceDao.getJobInstance("foo", new JobParameters())).thenReturn(jobInstance); when(jobExecutionDao.findJobExecutions(jobInstance)).thenReturn(Arrays.asList(jobExecution)); jobRepository.createJobExecution("foo", new JobParameters()); }
@Transactional @Test public void testUpdateJobExecution() { jobExecution.setStatus(BatchStatus.COMPLETED); jobExecution.setExitStatus(ExitStatus.COMPLETED); jobExecution.setEndTime(new Date(System.currentTimeMillis())); jobExecutionDao.updateJobExecution(jobExecution); List<JobExecution> executions = jobExecutionDao.findJobExecutions(jobInstance); assertEquals(executions.size(), 1); validateJobExecution(jobExecution, executions.get(0)); }
@Override public void execute(JobExecution execution) { assertEquals(1, execution.getJobParameters().getParameters().size()); execution.setStatus(BatchStatus.STOPPED); execution.setEndTime(new Date()); jobRepository.update(execution); } @Override
@Before public void onSetUpInTransaction() throws Exception { // Create job. jobInstance = jobInstanceDao.createJobInstance(jobName, jobParameters); // Create an execution jobExecutionStartTime = new Date(System.currentTimeMillis()); jobExecution = new JobExecution(jobInstance, jobParameters); jobExecution.setStartTime(jobExecutionStartTime); jobExecution.setStatus(BatchStatus.STARTED); jobExecutionDao.saveJobExecution(jobExecution); }
/** * Test method for * {@link org.springframework.batch.core.JobExecution#getStatus()}. */ @Test public void testDowngradeStatus() { execution.setStatus(BatchStatus.FAILED); execution.upgradeStatus(BatchStatus.COMPLETED); assertEquals(BatchStatus.FAILED, execution.getStatus()); }
@Test(expected = JobExecutionAlreadyRunningException.class) public void testAbortNonStopping() throws Exception { JobInstance jobInstance = new JobInstance(123L, job.getName()); JobExecution jobExecution = new JobExecution(jobInstance, 111L, jobParameters, null); jobExecution.setStatus(BatchStatus.STARTED); when(jobExplorer.getJobExecution(123L)).thenReturn(jobExecution); jobRepository.update(jobExecution); jobOperator.abandon(123L); }
/** * Test method for * {@link org.springframework.batch.core.JobExecution#getStatus()}. */ @Test public void testGetStatus() { assertEquals(BatchStatus.STARTING, execution.getStatus()); execution.setStatus(BatchStatus.COMPLETED); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); }
@Transactional @Test public void testGetLastJobExecution() { JobExecution lastExecution = new JobExecution(jobInstance, jobParameters); lastExecution.setStatus(BatchStatus.STARTED); int JUMP_INTO_FUTURE = 1000; // makes sure start time is 'greatest' lastExecution.setCreateTime(new Date(System.currentTimeMillis() + JUMP_INTO_FUTURE)); jobExecutionDao.saveJobExecution(lastExecution); assertEquals(lastExecution, jobExecutionDao.getLastJobExecution(jobInstance)); assertNotNull(lastExecution.getJobParameters()); assertEquals("jobKey", lastExecution.getJobParameters().getString("job.key")); }
@Test public void testAbort() throws Exception { JobInstance jobInstance = new JobInstance(123L, job.getName()); JobExecution jobExecution = new JobExecution(jobInstance, 111L, jobParameters, null); jobExecution.setStatus(BatchStatus.STOPPING); when(jobExplorer.getJobExecution(123L)).thenReturn(jobExecution); jobRepository.update(jobExecution); jobOperator.abandon(123L); assertEquals(BatchStatus.ABANDONED, jobExecution.getStatus()); assertNotNull(jobExecution.getEndTime()); }
@Test public void testInterrupted(){ jobExecution.setStatus(BatchStatus.STOPPING); StepExecution stepExecution = new StepExecution("stepName", jobExecution); stepExecution.setId(323L); jobRepository.update(stepExecution); assertTrue(stepExecution.isTerminateOnly()); }
@Test public void testRestartExecution() throws Throwable { String[] args = new String[] { jobPath, "-restart", "11" }; JobParameters jobParameters = new JobParametersBuilder().addString("foo", "bar").toJobParameters(); JobExecution jobExecution = new JobExecution(new JobInstance(0L, jobName), 11L, jobParameters, null); jobExecution.setStatus(BatchStatus.FAILED); StubJobExplorer.jobExecution = jobExecution; CommandLineJobRunner.main(args); assertEquals(0, StubSystemExiter.status); assertEquals(jobParameters, StubJobLauncher.jobParameters); }
@Test public void testRestartExecutionNotFailed() throws Throwable { String[] args = new String[] { jobPath, "-restart", "11" }; JobParameters jobParameters = new JobParametersBuilder().addString("foo", "bar").toJobParameters(); JobExecution jobExecution = new JobExecution(new JobInstance(0L, jobName), 11L, jobParameters, null); jobExecution.setStatus(BatchStatus.COMPLETED); StubJobExplorer.jobExecution = jobExecution; CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); assertEquals(null, StubJobLauncher.jobParameters); }