Skip to content

Commit da16f6b

Browse files
committed
Fix missing JobParameters propagation in MetaDataInstanceFactory.createStepExecution
Resolves #5115 Signed-off-by: Sanghyuk Jung <[email protected]>
1 parent c8a0528 commit da16f6b

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

spring-batch-test/src/main/java/org/springframework/batch/test/MetaDataInstanceFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ public static StepExecution createStepExecution(JobParameters jobParameters, Exe
189189
public static StepExecution createStepExecution(JobParameters jobParameters) {
190190
JobExecution jobExecution = createJobExecution(DEFAULT_JOB_NAME, DEFAULT_JOB_INSTANCE_ID,
191191
DEFAULT_JOB_EXECUTION_ID, jobParameters);
192-
StepExecution stepExecution = createStepExecution();
192+
StepExecution stepExecution = createStepExecution(jobExecution, DEFAULT_STEP_NAME, DEFAULT_STEP_EXECUTION_ID);
193193
jobExecution.addStepExecution(stepExecution);
194194
return stepExecution;
195195
}

spring-batch-test/src/test/java/org/springframework/batch/test/MetaDataInstanceFactoryTests.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@
1515
*/
1616
package org.springframework.batch.test;
1717

18+
import static org.junit.jupiter.api.Assertions.assertEquals;
1819
import static org.junit.jupiter.api.Assertions.assertNotNull;
1920

2021
import java.util.List;
2122

2223
import org.junit.jupiter.api.Test;
2324
import org.springframework.batch.core.job.parameters.JobParameters;
2425
import org.springframework.batch.core.converter.DefaultJobParametersConverter;
26+
import org.springframework.batch.core.job.parameters.JobParametersBuilder;
27+
import org.springframework.batch.core.step.StepExecution;
2528
import org.springframework.batch.infrastructure.support.PropertiesConverter;
2629

2730
/**
@@ -37,7 +40,7 @@ class MetaDataInstanceFactoryTests {
3740
private final String jobParametersString = "foo=bar";
3841

3942
private final JobParameters jobParameters = new DefaultJobParametersConverter()
40-
.getJobParameters(PropertiesConverter.stringToProperties(jobParametersString));
43+
.getJobParameters(PropertiesConverter.stringToProperties(jobParametersString));
4144

4245
private final Long executionId = 4321L;
4346

@@ -90,6 +93,14 @@ void testCreateStepExecutionJobExecutionStringLong() {
9093
assertNotNull(MetaDataInstanceFactory.createStepExecution(stepName, stepExecutionId));
9194
}
9295

96+
@Test
97+
void testCreateStepExecutionJobParameters() {
98+
JobParameters parameters = new JobParametersBuilder().addString("foo", "bar").toJobParameters();
99+
StepExecution stepExecution = MetaDataInstanceFactory.createStepExecution(parameters);
100+
String paramValue = stepExecution.getJobExecution().getJobParameters().getString("foo");
101+
assertEquals("bar", paramValue);
102+
}
103+
93104
@Test
94105
void testCreateJobExecutionWithStepExecutions() {
95106
assertNotNull(MetaDataInstanceFactory.createJobExecutionWithStepExecutions(executionId, List.of(stepName)));

0 commit comments

Comments
 (0)