@Test public void testRegistry() throws Exception { assertEquals(1, jobRegistry.getJobNames().size()); assertEquals(job.getName(), jobRegistry.getJobNames().iterator().next()); }
@Test public void testGetLastInstancesSunnyDay() throws Exception { jobParameters = new JobParameters(); JobInstance jobInstance = new JobInstance(123L, job.getName()); when(jobExplorer.getJobInstances("foo", 0, 2)).thenReturn(Collections.singletonList(jobInstance)); jobExplorer.getJobInstances("foo", 0, 2); List<Long> value = jobOperator.getJobInstances("foo", 0, 2); assertEquals(123L, value.get(0).longValue()); }
@Test public void testFindRunningExecutionsSunnyDay() throws Exception { jobParameters = new JobParameters(); JobExecution jobExecution = new JobExecution(new JobInstance(123L, job.getName()), 111L, jobParameters, null); when(jobExplorer.findRunningJobExecutions("foo")).thenReturn(Collections.singleton(jobExecution)); Set<Long> value = jobOperator.getRunningExecutions("foo"); assertEquals(111L, value.iterator().next().longValue()); }
@SuppressWarnings("resource") @Test public void testParentConfigurationInherited() { GenericApplicationContextFactory factory = new GenericApplicationContextFactory( new ClassPathResource(ClassUtils.addResourcePathToPackagePath(getClass(), "child-context.xml"))); factory.setApplicationContext(new ClassPathXmlApplicationContext(ClassUtils.addResourcePathToPackagePath( getClass(), "parent-context.xml"))); ConfigurableApplicationContext context = factory.createApplicationContext(); assertEquals("test-job", context.getBeanNamesForType(Job.class)[0]); assertEquals("bar", context.getBean("test-job", Job.class).getName()); assertEquals(4, context.getBean("foo", Foo.class).values[1], 0.01); }
@Test public void testLaunchJob() throws Exception { int before = jobExplorer.getJobInstances(job.getName(), 0, 100).size(); assertNotNull(jobLauncher.run(job, new JobParameters())); List<JobInstance> jobInstances = jobExplorer.getJobInstances(job.getName(), 0, 100); int after = jobInstances.size(); assertEquals(1, after-before); JobExecution jobExecution = jobExplorer.getJobExecutions(jobInstances.get(jobInstances.size()-1)).get(0); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals(3, jobExecution.getStepExecutions().size()); }
@Test public void testLaunchJob() throws Exception { int before = jobExplorer.getJobInstances(job.getName(), 0, 100).size(); assertNotNull(jobLauncher.run(job, new JobParameters())); List<JobInstance> jobInstances = jobExplorer.getJobInstances(job.getName(), 0, 100); int after = jobInstances.size(); assertEquals(1, after-before); JobExecution jobExecution = jobExplorer.getJobExecutions(jobInstances.get(jobInstances.size()-1)).get(0); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals(3, jobExecution.getStepExecutions().size()); }
/** * @return JobExecution */ protected JobExecution createJobExecution() throws JobInstanceAlreadyCompleteException, JobRestartException, JobExecutionAlreadyRunningException { return jobRepository.createJobExecution(job.getName(), new JobParametersBuilder().addLong("key1", 1L).toJobParameters()); }
@Test public void testSimpleDelivery() throws Exception{ messageHandler.launch(new JobLaunchRequest(new JobSupport("testjob"), null)); assertEquals("Wrong job count", 1, jobLauncher.jobs.size()); assertEquals("Wrong job name", jobLauncher.jobs.get(0).getName(), "testjob"); }
@Test public void testGetStepExecutionSummariesSunnyDay() throws Exception { jobParameters = new JobParameters(); JobExecution jobExecution = new JobExecution(new JobInstance(123L, job.getName()), 111L, jobParameters, null); jobExecution.createStepExecution("step1"); jobExecution.createStepExecution("step2"); jobExecution.getStepExecutions().iterator().next().setId(21L); when(jobExplorer.getJobExecution(111L)).thenReturn(jobExecution); Map<Long, String> value = jobOperator.getStepExecutionSummaries(111L); assertEquals(2, value.size()); }
@Test public void testSplitJob() throws Exception { assertNotNull(job); JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), new JobParameters()); job.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals(4, jobExecution.getStepExecutions().size()); ArrayList<String> names = new ArrayList<>(((StepLocator) job).getStepNames()); Collections.sort(names); assertEquals("[s1, s2, s3, s4]", names.toString()); }
@Test public void testHandlerRefStep() throws Exception { assertNotNull(job2); JobExecution jobExecution = jobRepository.createJobExecution(job2.getName(), new JobParameters()); job2.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); Collections.sort(savedStepNames); assertEquals("[s2:partition0, s2:partition1, s2:partition2, s3]", savedStepNames.toString()); List<String> stepNames = getStepNames(jobExecution); assertEquals(5, stepNames.size()); assertEquals("[s2, s2:partition0, s2:partition1, s2:partition2, s3]", stepNames.toString()); }
@Test public void testFlowJobWithNestedTransitions() throws Exception { assertNotNull(job2); JobExecution jobExecution = jobRepository.createJobExecution(job2.getName(), new JobParameters()); job2.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals(3, jobExecution.getStepExecutions().size()); List<String> stepNames = getStepNames(jobExecution); assertEquals(3, stepNames.size()); assertEquals("[s2, s3, job2.s1]", stepNames.toString()); }
@Test public void testFlowExternalStep() throws Exception { assertNotNull(job2); JobExecution jobExecution = jobRepository.createJobExecution(job2.getName(), new JobParameters()); job2.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); List<String> stepNames = getStepNames(jobExecution); assertEquals(3, stepNames.size()); assertEquals("[job2.s1, job2.flow, job2.s4]", stepNames.toString()); }
@Test public void testGetSummarySunnyDay() throws Exception { jobParameters = new JobParameters(); JobExecution jobExecution = new JobExecution(new JobInstance(123L, job.getName()), 111L, jobParameters, null); when(jobExplorer.getJobExecution(111L)).thenReturn(jobExecution); jobExplorer.getJobExecution(111L); String value = jobOperator.getSummary(111L); assertEquals(jobExecution.toString(), value); }
@Test public void testCustomHandlerRefStep() throws Exception { assertNotNull(job5); JobExecution jobExecution = jobRepository.createJobExecution(job5.getName(), new JobParameters()); job5.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); List<String> stepNames = getStepNames(jobExecution); assertEquals(1, stepNames.size()); assertEquals("[j5s1]", stepNames.toString()); }
@Test public void testFlowJobWithNoSteps() throws Exception { assertNotNull(job3); JobExecution jobExecution = jobRepository.createJobExecution(job3.getName(), new JobParameters()); job3.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); List<String> stepNames = getStepNames(jobExecution); assertEquals(2, stepNames.size()); assertEquals("[s2, s3]", stepNames.toString()); }
@Test public void testAbort() throws Exception { JobInstance jobInstance = new JobInstance(123L, job.getName()); JobExecution jobExecution = new JobExecution(jobInstance, 111L, jobParameters, null); jobExecution.setStatus(BatchStatus.STOPPING); when(jobExplorer.getJobExecution(123L)).thenReturn(jobExecution); jobRepository.update(jobExecution); jobOperator.abandon(123L); assertEquals(BatchStatus.ABANDONED, jobExecution.getStatus()); assertNotNull(jobExecution.getEndTime()); }
@Test public void testTaskletStepWithBadListener() throws Exception { assertNotNull(job); JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), new JobParameters()); job.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); assertEquals(1, jobExecution.getStepExecutions().size()); }
@Test public void testDefaultHandlerStep() throws Exception { assertNotNull(job); JobExecution jobExecution = jobRepository.createJobExecution(job.getName(), new JobParameters()); job.execute(jobExecution); assertEquals(BatchStatus.COMPLETED, jobExecution.getStatus()); }
@Before public void setUp() throws Exception { transactionManager = new ResourcelessTransactionManager(); RepeatTemplate template = new RepeatTemplate(); template.setCompletionPolicy(new SimpleCompletionPolicy(1)); step = getStep(new String[] { "foo", "bar", "spam" }); step.setStepOperations(template); job = new JobSupport("FOO"); jobInstance = new JobInstance(0L, job.getName()); jobParameters = new JobParameters(); step.setTransactionManager(transactionManager); }