OPEN - issue BATCH-814: JobRepository should not require Step or Job (only their names)

Moved isJobInstanceExists check to JobRepository
This commit is contained in:
dsyer
2008-09-05 16:08:19 +00:00
parent 27838b32f1
commit 917f31be0c
9 changed files with 53 additions and 43 deletions

View File

@@ -110,22 +110,4 @@ public class SimpleJobExplorerTests extends TestCase {
verify(jobExecutionDao, jobInstanceDao, stepExecutionDao);
}
@Test
public void testIsJobInstanceFalse() throws Exception {
jobInstanceDao.getJobInstance("foo", new JobParameters());
EasyMock.expectLastCall().andReturn(null);
replay(jobExecutionDao, jobInstanceDao, stepExecutionDao);
assertFalse(jobExplorer.isJobInstanceExists("foo", new JobParameters()));
verify(jobExecutionDao, jobInstanceDao, stepExecutionDao);
}
@Test
public void testIsJobInstanceTrue() throws Exception {
jobInstanceDao.getJobInstance("foo", new JobParameters());
EasyMock.expectLastCall().andReturn(jobInstance);
replay(jobExecutionDao, jobInstanceDao, stepExecutionDao);
assertTrue(jobExplorer.isJobInstanceExists("foo", new JobParameters()));
verify(jobExecutionDao, jobInstanceDao, stepExecutionDao);
}
}

View File

@@ -165,20 +165,20 @@ public class SimpleJobOperatorTests {
@Test
public void testStartNewInstanceSunnyDay() throws Exception {
jobParameters = new JobParameters();
jobExplorer.isJobInstanceExists("foo", jobParameters);
jobRepository.isJobInstanceExists("foo", jobParameters);
EasyMock.expectLastCall().andReturn(false);
EasyMock.replay(jobExplorer);
EasyMock.replay(jobRepository);
Long value = jobOperator.start("foo", "a=b");
assertEquals(999, value.longValue());
EasyMock.verify(jobExplorer);
EasyMock.verify(jobRepository);
}
@Test
public void testStartNewInstanceAlreadyExists() throws Exception {
jobParameters = new JobParameters();
jobExplorer.isJobInstanceExists("foo", jobParameters);
jobRepository.isJobInstanceExists("foo", jobParameters);
EasyMock.expectLastCall().andReturn(true);
EasyMock.replay(jobExplorer);
EasyMock.replay(jobRepository);
try {
jobOperator.start("foo", "a=b");
fail("Expected JobInstanceAlreadyExistsException");
@@ -186,7 +186,7 @@ public class SimpleJobOperatorTests {
catch (JobInstanceAlreadyExistsException e) {
// expected
}
EasyMock.verify(jobExplorer);
EasyMock.verify(jobRepository);
}
@Test

View File

@@ -22,6 +22,7 @@ import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.List;
import org.easymock.EasyMock;
import org.junit.Before;
import org.junit.Test;
import org.springframework.batch.core.BatchStatus;
@@ -66,7 +67,7 @@ public class SimpleJobRepositoryTests {
ExecutionContextDao ecDao;
JobInstance databaseJob;
JobInstance jobInstance;
String databaseStep1;
@@ -102,7 +103,7 @@ public class SimpleJobRepositoryTests {
job.setSteps(stepConfigurations);
databaseJob = new JobInstance(new Long(1), jobParameters, job.getName());
jobInstance = new JobInstance(new Long(1), jobParameters, job.getName());
databaseStep1 = "dbStep1";
databaseStep2 = "dbStep2";
@@ -198,4 +199,22 @@ public class SimpleJobRepositoryTests {
assertTrue(stepExecution.isTerminateOnly());
}
@Test
public void testIsJobInstanceFalse() throws Exception {
jobInstanceDao.getJobInstance("foo", new JobParameters());
EasyMock.expectLastCall().andReturn(null);
replay(jobExecutionDao, jobInstanceDao, stepExecutionDao);
assertFalse(jobRepository.isJobInstanceExists("foo", new JobParameters()));
verify(jobExecutionDao, jobInstanceDao, stepExecutionDao);
}
@Test
public void testIsJobInstanceTrue() throws Exception {
jobInstanceDao.getJobInstance("foo", new JobParameters());
EasyMock.expectLastCall().andReturn(jobInstance);
replay(jobExecutionDao, jobInstanceDao, stepExecutionDao);
assertTrue(jobRepository.isJobInstanceExists("foo", new JobParameters()));
verify(jobExecutionDao, jobInstanceDao, stepExecutionDao);
}
}

View File

@@ -72,4 +72,12 @@ public class JobRepositorySupport implements JobRepository {
public void updateExecutionContext(StepExecution stepExecution) {
}
/* (non-Javadoc)
* @see org.springframework.batch.core.repository.JobRepository#isJobInstanceExists(java.lang.String, org.springframework.batch.core.JobParameters)
*/
public boolean isJobInstanceExists(String jobName, JobParameters jobParameters) {
// TODO Auto-generated method stub
return false;
}
}