@Override @Nullable public String getExitStatus() { return exitStatusSet.get() ? jobExecution.getExitStatus().getExitCode() : null; }
@Override public String getExitStatus() { ExitStatus status = stepExecution.getExitStatus(); if(status == null) { return null; } else { return status.getExitCode(); } }
@Override public String executeStep(Step step) throws JobInterruptedException, JobRestartException, StartLimitExceededException { return ExitStatus.COMPLETED.getExitCode(); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusStillExecutable() { assertEquals(ExitStatus.EXECUTING.getExitCode(), ExitStatus.EXECUTING.and(ExitStatus.EXECUTING).getExitCode()); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusWhenContinuableAddedToFinished() { assertEquals(ExitStatus.COMPLETED.getExitCode(), ExitStatus.COMPLETED.and(ExitStatus.EXECUTING).getExitCode()); }
@AfterStep public ExitStatus checkForSkips(StepExecution stepExecution) { if (!stepExecution.getExitStatus().getExitCode().equals(ExitStatus.FAILED.getExitCode()) && stepExecution.getSkipCount() > 0) { return new ExitStatus("COMPLETED WITH SKIPS"); } else { return null; } }
@Test public void testJsonReadingAndWriting() throws Exception { ApplicationContext context = new AnnotationConfigApplicationContext(JobConfiguration.class); JobLauncher jobLauncher = context.getBean(JobLauncher.class); Job job = context.getBean(Job.class); JobExecution jobExecution = jobLauncher.run(job, new JobParameters()); Assert.assertEquals(ExitStatus.COMPLETED.getExitCode(), jobExecution.getExitStatus().getExitCode()); assertFileEquals( new File(INPUT_FILE_DIRECTORY + "trades.json"), new File(OUTPUT_FILE_DIRECTORY + "trades.json")); }
@Test public void testResourceNotExists() throws Exception { JobExecution jobExecution = launcher.run(job2, new JobParameters()); Assert.isTrue(jobExecution.getExitStatus().getExitCode().equals("FAILED"), "The job exit status is not FAILED."); Assert.isTrue(jobExecution.getAllFailureExceptions().get(0).getMessage().contains("Failed to initialize the reader"), "The job failed for the wrong reason."); }
@Test public void testResourceNotExists() throws Exception { JobExecution jobExecution = jobLauncher.run(job2, new JobParameters()); Assert.isTrue(jobExecution.getExitStatus().getExitCode().equals("FAILED"), "The job exit status is not FAILED."); Assert.isTrue(jobExecution.getAllFailureExceptions().get(0).getMessage().contains("Failed to initialize the reader"), "The job failed for the wrong reason."); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusFailedPlusFinished() { assertEquals("FAILED", ExitStatus.COMPLETED.and(ExitStatus.FAILED).getExitCode()); assertEquals("FAILED", ExitStatus.FAILED.and(ExitStatus.COMPLETED).getExitCode()); }
@Test public void testExitStatusBooleanInt() { ExitStatus status = new ExitStatus("10"); assertEquals("10", status.getExitCode()); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusWhenCustomCompletedAddedToCompleted() { assertEquals("COMPLETED_CUSTOM", ExitStatus.COMPLETED.and( ExitStatus.EXECUTING.replaceExitCode("COMPLETED_CUSTOM")).getExitCode()); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusWhenCustomContinuableAddedToFinished() { assertEquals("CUSTOM", ExitStatus.COMPLETED.and(ExitStatus.EXECUTING.replaceExitCode("CUSTOM")).getExitCode()); }
/** * Test method for * {@link org.springframework.batch.core.ExitStatus#and(org.springframework.batch.core.ExitStatus)} * . */ @Test public void testAndExitStatusWhenCustomContinuableAddedToContinuable() { assertEquals("CUSTOM", ExitStatus.EXECUTING.and(ExitStatus.EXECUTING.replaceExitCode("CUSTOM")).getExitCode()); }
@Test public void testWildcardAddedLastWhenUsedWithNextAttrAndNoTransitionElements() throws Exception { JobExecution jobExecution = runJob("FlowParserTestsWildcardAndNextAttrJob", new Properties(), 1000L); assertEquals(ExitStatus.FAILED.getExitCode(), jobExecution.getExitStatus()); JobOperator jobOperator = BatchRuntime.getJobOperator(); List<StepExecution> stepExecutions = jobOperator.getStepExecutions(jobExecution.getExecutionId()); assertEquals(1, stepExecutions.size()); StepExecution failedStep = stepExecutions.get(0); assertTrue("step1".equals(failedStep.getStepName())); }
@Test public void testStepNoOverrideWhenNextAndFailedTransitionElementExists() throws Exception { JobExecution jobExecution = runJob("FlowParserTestsStepNoOverrideWhenNextAndFailedTransitionElementExists", new Properties(), 10000L); assertEquals(ExitStatus.FAILED.getExitCode(), jobExecution.getExitStatus()); JobOperator jobOperator = BatchRuntime.getJobOperator(); List<StepExecution> stepExecutions = jobOperator.getStepExecutions(jobExecution.getExecutionId()); assertEquals(1, stepExecutions.size()); StepExecution failedStep = stepExecutions.get(0); assertTrue("failedExitStatusStepDontOverride".equals(failedStep.getStepName())); assertTrue("CUSTOM_FAIL".equals(failedStep.getExitStatus())); }
@Test public void testApplicationException() throws Exception { taskletStep.execute(stepExecution); assertEquals(FAILED, stepExecution.getStatus()); assertEquals(FAILED.toString(), stepExecution.getExitStatus().getExitCode()); }
/** * Test method for * {@link org.springframework.batch.core.JobExecution#getExitStatus()}. */ @Test public void testGetExitCode() { assertEquals(ExitStatus.UNKNOWN, execution.getExitStatus()); execution.setExitStatus(new ExitStatus("23")); assertEquals("23", execution.getExitStatus().getExitCode()); }
@Test public void testBuildWithStop() throws Exception { SimpleJobBuilder builder = new JobBuilder("flow").repository(jobRepository).start(step1); builder.on("COMPLETED").stop(); builder.preventRestart(); builder.build().execute(execution); assertEquals(BatchStatus.STOPPED, execution.getStatus()); assertEquals("STOPPED", execution.getExitStatus().getExitCode()); assertEquals(1, execution.getStepExecutions().size()); }
@Test public void testStepLoop() throws Exception { flow.setStateTransitions(collect(StateTransition.createStateTransition(new StateSupport("step"), ExitStatus.FAILED.getExitCode(), "step"), StateTransition.createEndStateTransition(new StateSupport("step")))); flow.afterPropertiesSet(); FlowExecution execution = flow.start(executor); assertEquals(FlowExecutionStatus.COMPLETED, execution.getStatus()); assertEquals("step", execution.getName()); }