diff --git a/spring-batch-test/src/main/java/org/springframework/batch/test/JobRepositoryTestUtils.java b/spring-batch-test/src/main/java/org/springframework/batch/test/JobRepositoryTestUtils.java index e52e01075..f13eb1fae 100644 --- a/spring-batch-test/src/main/java/org/springframework/batch/test/JobRepositoryTestUtils.java +++ b/spring-batch-test/src/main/java/org/springframework/batch/test/JobRepositoryTestUtils.java @@ -62,7 +62,7 @@ public class JobRepositoryTestUtils implements InitializingBean { }; private SimpleJdbcOperations jdbcTemplate; - + /** * @see InitializingBean#afterPropertiesSet() */ @@ -121,7 +121,10 @@ public class JobRepositoryTestUtils implements InitializingBean { List list = new ArrayList(); JobParameters jobParameters = new JobParameters(); for (int i = 0; i < count; i++) { - list.add(jobRepository.createJobExecution("job", jobParametersIncrementer.getNext(jobParameters))); + JobExecution jobExecution = jobRepository.createJobExecution("job", jobParametersIncrementer + .getNext(jobParameters)); + list.add(jobExecution); + jobRepository.add(jobExecution.createStepExecution("step")); } return list; } diff --git a/spring-batch-test/src/test/java/org/springframework/batch/test/JobRepositoryTestUtilsTests.java b/spring-batch-test/src/test/java/org/springframework/batch/test/JobRepositoryTestUtilsTests.java index 2f133e00f..286bcee22 100644 --- a/spring-batch-test/src/test/java/org/springframework/batch/test/JobRepositoryTestUtilsTests.java +++ b/spring-batch-test/src/test/java/org/springframework/batch/test/JobRepositoryTestUtilsTests.java @@ -53,12 +53,15 @@ public class JobRepositoryTestUtilsTests { private SimpleJdbcTemplate jdbcTemplate; - private int before; + private int beforeJobs; + + private int beforeSteps; @Before public void init() { jdbcTemplate = new SimpleJdbcTemplate(dataSource); - before = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION"); + beforeJobs = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION"); + beforeSteps = SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION"); } @Test(expected=IllegalArgumentException.class) @@ -79,9 +82,11 @@ public class JobRepositoryTestUtilsTests { utils = new JobRepositoryTestUtils(jobRepository, dataSource); List list = utils.createJobExecutions(3); assertEquals(3, list.size()); - assertEquals(before + 3, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs + 3, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeSteps + 3, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION")); utils.removeJobExecutions(list); - assertEquals(before, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeSteps, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION")); } @Test @@ -89,11 +94,11 @@ public class JobRepositoryTestUtilsTests { utils = new JobRepositoryTestUtils(jobRepository, dataSource); List list1 = utils.createJobExecutions(3); List list2 = utils.createJobExecutions(2); - assertEquals(before + 5, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs + 5, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); utils.removeJobExecutions(list2); - assertEquals(before + 3, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs + 3, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); utils.removeJobExecutions(list1); - assertEquals(before, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); } @Test @@ -108,7 +113,7 @@ public class JobRepositoryTestUtilsTests { assertEquals(1, list.size()); assertEquals("bar", list.get(0).getJobInstance().getJobParameters().getString("foo")); utils.removeJobExecutions(list); - assertEquals(before, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + assertEquals(beforeJobs, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); } }