@Test public void testWrongJobName() throws Exception { String[] args = new String[] { jobPath, "no-such-job" }; CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, (errorMessage .contains("No bean named 'no-such-job' is defined") || (errorMessage .contains("No bean named 'no-such-job' available")))); }
@Test public void testRestartNotFailed() throws Throwable { String[] args = new String[] { jobPath, "-restart", jobName }; StubJobExplorer.jobInstances = Arrays.asList(new JobInstance(123L, jobName)); CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, errorMessage .contains("No failed or stopped execution found")); }
@Test public void testWithInvalidParameters() throws Throwable { String[] args = new String[] { jobPath, jobName, "foo" }; CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, errorMessage.contains("in the form name=value")); }
@Test public void testJavaConfig() throws Exception { String[] args = new String[] { "org.springframework.batch.core.launch.support.CommandLineJobRunnerTests$Configuration1", "invalidJobName"}; CommandLineJobRunner.presetSystemExiter(new StubSystemExiter()); CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, errorMessage.contains("A JobLauncher must be provided. Please add one to the configuration.")); }
@Test public void testInvalidArgs() throws Exception { String[] args = new String[] {}; CommandLineJobRunner.presetSystemExiter(new StubSystemExiter()); CommandLineJobRunner.main(args); assertEquals(1, StubSystemExiter.status); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, errorMessage.contains("At least 2 arguments are required: JobPath/JobClass and jobIdentifier.")); }
@Test public void testNextWithNoParameters() throws Exception { jobPath = ClassUtils.addResourcePathToPackagePath(CommandLineJobRunnerTests.class, "launcher-with-locator.xml"); CommandLineJobRunner.main(new String[] { jobPath, "-next", "test-job2", jobKey }); assertEquals(1, StubSystemExiter.getStatus()); String errorMessage = CommandLineJobRunner.getErrorMessage(); assertTrue("Wrong error message: " + errorMessage, errorMessage .contains(" No job parameters incrementer found")); }