From 59bd81740d2ec28ac6f3fcb1db214f736d4c55b4 Mon Sep 17 00:00:00 2001 From: dsyer Date: Sun, 29 Aug 2010 07:16:02 +0000 Subject: [PATCH] BATCH-1598: re-order deletes in job repository test utils --- .../batch/test/JobRepositoryTestUtils.java | 2 ++ .../batch/test/JobRepositoryTestUtilsTests.java | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) 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 6320b8548..750f303e3 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 @@ -179,6 +179,8 @@ public class JobRepositoryTestUtils extends AbstractJdbcBatchMetadataDao impleme jobExecution.getId()); jdbcTemplate.update(getQuery("delete from %PREFIX%JOB_EXECUTION where JOB_EXECUTION_ID=?"), jobExecution .getId()); + } + for (JobExecution jobExecution : list) { jdbcTemplate.update(getQuery("delete from %PREFIX%JOB_PARAMS where JOB_INSTANCE_ID=?"), jobExecution .getJobId()); jdbcTemplate.update(getQuery("delete from %PREFIX%JOB_INSTANCE where JOB_INSTANCE_ID=?"), jobExecution 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 485ee91a2..ef3e09dd1 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 @@ -17,6 +17,8 @@ package org.springframework.batch.test; import static org.junit.Assert.assertEquals; +import java.util.ArrayList; +import java.util.Date; import java.util.List; import javax.sql.DataSource; @@ -89,6 +91,21 @@ public class JobRepositoryTestUtilsTests { assertEquals(beforeSteps, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_STEP_EXECUTION")); } + @Test + public void testRemoveJobExecutionsWithSameJobInstance() throws Exception { + utils = new JobRepositoryTestUtils(jobRepository, dataSource); + List list = new ArrayList(); + JobExecution jobExecution = jobRepository.createJobExecution("job", new JobParameters()); + jobExecution.setEndTime(new Date()); + list.add(jobExecution); + jobRepository.update(jobExecution); + jobExecution = jobRepository.createJobExecution("job", new JobParameters()); + list.add(jobExecution); + assertEquals(beforeJobs + 2, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + utils.removeJobExecutions(list); + assertEquals(beforeJobs, SimpleJdbcTestUtils.countRowsInTable(jdbcTemplate, "BATCH_JOB_EXECUTION")); + } + @Test public void testCreateJobExecutionsByName() throws Exception { utils = new JobRepositoryTestUtils(jobRepository, dataSource);