@Override public JobParameters getNext(JobParameters parameters) { return new JobParametersBuilder().addString("foo","bar").toJobParameters(); } });
private StepExecution launchStep(String stepName) throws Exception { SimpleJob job = new SimpleJob(); job.setName("job"); job.setJobRepository(jobRepository); List<Step> stepsToExecute = new ArrayList<>(); stepsToExecute.add((Step) applicationContext.getBean(stepName)); job.setSteps(stepsToExecute); JobExecution jobExecution = jobLauncher.run(job, new JobParametersBuilder().addString("uuid", UUID.randomUUID().toString()).toJobParameters()); return jobExecution.getStepExecutions().iterator().next(); }
@Test public void testOrderedTypes(){ this.parametersBuilder.addDate("SCHEDULE_DATE", date); this.parametersBuilder.addLong("LONG", new Long(1)); this.parametersBuilder.addString("STRING", "string value"); Iterator<String> parameters = this.parametersBuilder.toJobParameters().getParameters().keySet().iterator(); assertEquals("SCHEDULE_DATE", parameters.next()); assertEquals("LONG", parameters.next()); assertEquals("STRING", parameters.next()); }
@Test public void testInvalidCommitIntervalJobParameter() throws Exception { ApplicationContext context = new ClassPathXmlApplicationContext("/org/springframework/batch/core/scope/context/CommitIntervalJobParameter-context.xml"); Job job = context.getBean(Job.class); JobLauncher launcher = context.getBean(JobLauncher.class); JobExecution execution = launcher.run(job, new JobParametersBuilder().addLong("commit.intervall", 1l).toJobParameters()); assertEquals(BatchStatus.FAILED, execution.getStatus()); } }
@Override protected JobParameters getUniqueJobParameters() { return new JobParametersBuilder(super.getUniqueJobParameters()).addString("credit", "10000").toJobParameters(); } }
/** * @return JobExecution */ protected JobExecution createJobExecution() throws JobInstanceAlreadyCompleteException, JobRestartException, JobExecutionAlreadyRunningException { return jobRepository.createJobExecution(job.getName(), new JobParametersBuilder().addLong("key1", 1L).toJobParameters()); }
@Override protected JobParameters getUniqueJobParameters() { JobParametersBuilder builder = new JobParametersBuilder(super.getUniqueJobParameters()); return builder.addString("input.file.path", "classpath:data/iosample/input/delimited*.csv").addString( "output.file.path", "file:build/test-outputs/multiResourceOutput.csv").toJobParameters(); }
@Test public void testCreateJobKey() { JobParameters jobParameters = new JobParametersBuilder().addString( "foo", "bar").addString("bar", "foo").toJobParameters(); String key = jobKeyGenerator.generateKey(jobParameters); assertEquals(32, key.length()); }
@Test public void testChunkTimeoutShouldFail() throws Exception { JobExecution execution = jobLauncher.run(chunkTimeoutJob, new JobParametersBuilder().addLong("id", System.currentTimeMillis()) .toJobParameters()); assertEquals(BatchStatus.FAILED, execution.getStatus()); }
@Test public void testNext() throws Throwable { String[] args = new String[] { jobPath, "-next", jobName, "bar=foo" }; JobParameters jobParameters = new JobParametersBuilder().addString("foo", "bar").addString("bar", "foo") .toJobParameters(); StubJobExplorer.jobInstances = Arrays.asList(new JobInstance(2L, jobName)); CommandLineJobRunner.main(args); assertEquals(0, StubSystemExiter.status); jobParameters = new JobParametersBuilder().addString("foo", "spam").addString("bar", "foo").toJobParameters(); assertEquals(jobParameters, StubJobLauncher.jobParameters); }
@Test public void testCreateJobKeyWithNullParameter() { JobParameters jobParameters1 = new JobParametersBuilder().addString( "foo", "bar").addString("bar", null).toJobParameters(); JobParameters jobParameters2 = new JobParametersBuilder().addString( "foo", "bar").addString("bar", "").toJobParameters(); String key1 = jobKeyGenerator.generateKey(jobParameters1); String key2 = jobKeyGenerator.generateKey(jobParameters2); assertEquals(key1, key2); }
@Test public void testFileSent() throws Exception { JobExecution execution = jobLauncher.run(job, new JobParametersBuilder().addLong("time.stamp", System.currentTimeMillis()).toJobParameters()); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); // 2 chunks sent to channel (5 items and commit-interval=3) assertEquals(2, count); }
@Test public void testMixedParameters() { JobParameters jobParameters1 = new JobParametersBuilder().addString( "foo", "bar").addString("bar", "foo").toJobParameters(); JobParameters jobParameters2 = new JobParametersBuilder().addString( "foo", "bar", true).addString("bar", "foo", true) .addString("ignoreMe", "irrelevant", false).toJobParameters(); String key1 = jobKeyGenerator.generateKey(jobParameters1); String key2 = jobKeyGenerator.generateKey(jobParameters2); assertEquals(key1, key2); }
@Test public void testValidateRequiredValues() throws Exception { validator.setRequiredKeys(new String[] { "name", "value" }); validator .validate(new JobParametersBuilder().addString("name", "foo").addLong("value", 111L).toJobParameters()); }
@Test public void testGetNextJobParametersFirstRun(){ job.setJobParametersIncrementer(new RunIdIncrementer()); initializeForNextJobParameters(); this.parametersBuilder.getNextJobParameters(this.job); defaultNextJobParametersVerify(this.parametersBuilder.toJobParameters(), 4); }
@Override protected void pointReaderToOutput(ItemReader<CustomerCredit> reader) { JobParameters jobParameters = new JobParametersBuilder(super.getUniqueJobParameters()).addDouble("credit", 0.) .toJobParameters(); StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(jobParameters); StepSynchronizationManager.close(); StepSynchronizationManager.register(stepExecution); }
@Test public void testSkipsInWriter() throws Exception { JobExecution jobExecution = jobLauncher.run(job, new JobParametersBuilder().addString("item.three", "fail") .addLong("run.id", 1L).toJobParameters()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); StepExecution stepExecution = jobExecution.getStepExecutions().iterator().next(); assertEquals(9, stepExecution.getReadCount()); assertEquals(7, stepExecution.getWriteCount()); // The whole chunk gets skipped... assertEquals(2, stepExecution.getWriteSkipCount()); } }
@Test public void testLaunchJob() throws Exception { JobExecution jobExecution = jobLauncherTestUtils.launchJob(new JobParametersBuilder().addString("value", "foo") .toJobParameters()); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals("yes", jobExecution.getExecutionContext().getString("done")); }
@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); }