|
40 | 40 | import org.springframework.batch.core.JobInstance;
|
41 | 41 | import org.springframework.batch.core.JobInterruptedException;
|
42 | 42 | import org.springframework.batch.core.JobParameters;
|
| 43 | +import org.springframework.batch.core.JobParametersBuilder; |
43 | 44 | import org.springframework.batch.core.Step;
|
44 | 45 | import org.springframework.batch.core.StepExecution;
|
45 | 46 | import org.springframework.batch.core.UnexpectedJobExecutionException;
|
|
68 | 69 | * @author Lucas Ward
|
69 | 70 | * @author Will Schipp
|
70 | 71 | * @author Mahmoud Ben Hassine
|
| 72 | + * @author Jinwoo Bae |
71 | 73 | */
|
72 | 74 | class SimpleJobTests {
|
73 | 75 |
|
@@ -483,6 +485,43 @@ void testGetStepNotExists() {
|
483 | 485 | assertNull(step);
|
484 | 486 | }
|
485 | 487 |
|
| 488 | + @Test |
| 489 | + void testGetMultipleJobParameters() throws Exception { |
| 490 | + StubStep failStep = new StubStep("failStep", jobRepository); |
| 491 | + |
| 492 | + failStep.setCallback(new Runnable() { |
| 493 | + @Override |
| 494 | + public void run() { |
| 495 | + throw new RuntimeException("An error occurred."); |
| 496 | + } |
| 497 | + }); |
| 498 | + |
| 499 | + job.setName("parametersTestJob"); |
| 500 | + job.setSteps(Arrays.asList(new Step[] {failStep})); |
| 501 | + |
| 502 | + JobParameters firstJobParameters = new JobParametersBuilder() |
| 503 | + .addString("JobExecutionParameter", "first", false).toJobParameters(); |
| 504 | + JobExecution jobexecution = jobRepository.createJobExecution(job.getName(), firstJobParameters); |
| 505 | + job.execute(jobexecution); |
| 506 | + |
| 507 | + List<JobExecution> jobExecutionList = jobExplorer.getJobExecutions(jobexecution.getJobInstance()); |
| 508 | + |
| 509 | + assertEquals(jobExecutionList.size(), 1); |
| 510 | + assertEquals(jobExecutionList.get(0).getJobParameters().getString("JobExecutionParameter"), "first"); |
| 511 | + |
| 512 | + JobParameters secondJobParameters = new JobParametersBuilder() |
| 513 | + .addString("JobExecutionParameter", "second", false).toJobParameters(); |
| 514 | + jobexecution = jobRepository.createJobExecution(job.getName(), secondJobParameters); |
| 515 | + job.execute(jobexecution); |
| 516 | + |
| 517 | + jobExecutionList = jobExplorer.getJobExecutions(jobexecution.getJobInstance()); |
| 518 | + |
| 519 | + assertEquals(jobExecutionList.size(), 2); |
| 520 | + assertEquals(jobExecutionList.get(0).getJobParameters().getString("JobExecutionParameter"), "second"); |
| 521 | + assertEquals(jobExecutionList.get(1).getJobParameters().getString("JobExecutionParameter"), "first"); |
| 522 | + |
| 523 | + } |
| 524 | + |
486 | 525 | /*
|
487 | 526 | * Check JobRepository to ensure status is being saved.
|
488 | 527 | */
|
|
0 commit comments