/** * Increment the run.id parameter (starting with 1). */ @Override public JobParameters getNext(@Nullable JobParameters parameters) { JobParameters params = (parameters == null) ? new JobParameters() : parameters; long id = params.getLong(key, new Long(0)) + 1; return new JobParametersBuilder(params).addLong(key, id).toJobParameters(); }
@Before public void initialize() { this.job = new SimpleJob("simpleJob"); this.jobExplorer = mock(JobExplorer.class); this.jobInstanceList = new ArrayList<>(1); this.jobExecutionList = new ArrayList<>(1); this.parametersBuilder = new JobParametersBuilder(this.jobExplorer); }
@Override public JobParameters getNext(JobParameters parameters) { return new JobParametersBuilder().addString("foo","bar").toJobParameters(); } });
@Test public void testGetRestartJobParameters() { JsrJobOperator jobOperator = (JsrJobOperator) jsrJobOperator; JobExecution jobExecution = new JobExecution(1L, new JobParametersBuilder().addString("prevKey1", "prevVal1").toJobParameters()); Properties userProperties = new Properties(); userProperties.put("userKey1", "userVal1"); Properties properties = jobOperator.getJobRestartProperties(userProperties, jobExecution); assertTrue(properties.size() == 2); assertTrue(properties.getProperty("prevKey1").equals("prevVal1")); assertTrue(properties.getProperty("userKey1").equals("userVal1")); }
@Test public void testGetParametersRoseyScenario() { JobExecution jobExecution = new JobExecution(5L, new JobParametersBuilder().addString("key1", "value1").addLong(JsrJobParametersConverter.JOB_RUN_ID, 5L).toJobParameters()); when(jobExplorer.getJobExecution(5L)).thenReturn(jobExecution); Properties params = jsrJobOperator.getParameters(5L); assertEquals("value1", params.get("key1")); assertNull(params.get(JsrJobParametersConverter.JOB_RUN_ID)); }
@Override protected JobParameters getUniqueJobParameters() { return new JobParametersBuilder(super.getUniqueJobParameters()).addString("credit", "10000").toJobParameters(); } }
@Test public void testCopy(){ this.parametersBuilder.addString("STRING", "string value"); this.parametersBuilder = new JobParametersBuilder(this.parametersBuilder.toJobParameters()); Iterator<String> parameters = this.parametersBuilder.toJobParameters().getParameters().keySet().iterator(); assertEquals("STRING", parameters.next()); }
@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(); }
/** * @return JobExecution */ protected JobExecution createJobExecution() throws JobInstanceAlreadyCompleteException, JobRestartException, JobExecutionAlreadyRunningException { return jobRepository.createJobExecution(job.getName(), new JobParametersBuilder().addLong("key1", 1L).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()); }
/** * mock step context */ @Override protected void setUp() throws Exception { JobParameters jobParameters = new JobParametersBuilder().addLong("commit.interval", 2L).toJobParameters(); jobInstance = new JobInstance(new Long(0), "testJob"); JobExecution jobExecution = new JobExecution(jobInstance, jobParameters); Step step = new StepSupport("bar"); stepExecution = jobExecution.createStepExecution(step.getName()); policy.beforeStep(stepExecution); }
@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 testRestart() throws Throwable { String[] args = new String[] { jobPath, "-restart", jobName }; JobParameters jobParameters = new JobParametersBuilder().addString("foo", "bar").toJobParameters(); JobInstance jobInstance = new JobInstance(0L, jobName); StubJobExplorer.jobInstances = Arrays.asList(jobInstance); StubJobExplorer.jobParameters = jobParameters; CommandLineJobRunner.main(args); assertEquals(0, StubSystemExiter.status); assertEquals(jobParameters, StubJobLauncher.jobParameters); StubJobExplorer.jobParameters = new JobParameters(); }
@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 testValidateRequiredValues() throws Exception { validator.setRequiredKeys(new String[] { "name", "value" }); validator .validate(new JobParametersBuilder().addString("name", "foo").addLong("value", 111L).toJobParameters()); }
@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")); }