@Before public void setUp() throws Exception { jobExecutionDao = mock(JobExecutionDao.class); jobInstanceDao = mock(JobInstanceDao.class); stepExecutionDao = mock(StepExecutionDao.class); ecDao = mock(ExecutionContextDao.class); jobRepository = new SimpleJobRepository(jobInstanceDao, jobExecutionDao, stepExecutionDao, ecDao); jobParameters = new JobParametersBuilder().addString("bar", "test").toJobParameters(); job = new JobSupport(); job.setBeanName("RepositoryTest"); job.setRestartable(true); stepConfiguration1 = new StepSupport("TestStep1"); stepConfiguration2 = new StepSupport("TestStep2"); List<Step> stepConfigurations = new ArrayList<>(); stepConfigurations.add(stepConfiguration1); stepConfigurations.add(stepConfiguration2); job.setSteps(stepConfigurations); jobInstance = new JobInstance(1L, job.getName()); databaseStep1 = "dbStep1"; databaseStep2 = "dbStep2"; steps = new ArrayList<>(); steps.add(databaseStep1); steps.add(databaseStep2); jobExecution = new JobExecution(new JobInstance(1L, job.getName()), 1L, jobParameters, null); }
@Test public void testAfterInitializationWithCorrectType() throws Exception { MapJobRegistry registry = new MapJobRegistry(); processor.setJobRegistry(registry); JobSupport job = new JobSupport(); job.setBeanName("foo"); assertNotNull(processor.postProcessAfterInitialization(job, "bar")); assertEquals("[foo]", registry.getJobNames().toString()); }
@Test public void testUnregisterOnDestroy() throws Exception { MapJobRegistry registry = new MapJobRegistry(); processor.setJobRegistry(registry); JobSupport job = new JobSupport(); job.setBeanName("foo"); assertNotNull(processor.postProcessAfterInitialization(job, "bar")); processor.destroy(); assertEquals("[]", registry.getJobNames().toString()); }
@Test public void testAfterInitializationWithGroupName() throws Exception { MapJobRegistry registry = new MapJobRegistry(); processor.setJobRegistry(registry); processor.setGroupName("jobs"); JobSupport job = new JobSupport(); job.setBeanName("foo"); assertNotNull(processor.postProcessAfterInitialization(job, "bar")); assertEquals("[jobs.foo]", registry.getJobNames().toString()); }
@Test public void testAfterInitializationWithDuplicate() throws Exception { MapJobRegistry registry = new MapJobRegistry(); processor.setJobRegistry(registry); JobSupport job = new JobSupport(); job.setBeanName("foo"); processor.postProcessAfterInitialization(job, "bar"); try { processor.postProcessAfterInitialization(job, "spam"); fail("Expected FatalBeanException"); } catch (FatalBeanException e) { // Expected assertTrue(e.getCause() instanceof DuplicateJobException); } }
@Test public void testBeanNameWithBeanDefinition() throws Exception { GenericApplicationContext context = new GenericApplicationContext(); ConstructorArgumentValues args = new ConstructorArgumentValues(); args.addGenericArgumentValue("foo"); context.registerBeanDefinition("bean", new RootBeanDefinition( JobSupport.class, args, null)); context.refresh(); JobSupport configuration = (JobSupport) context .getBean("bean"); assertNotNull(configuration.getName()); assertEquals("foo", configuration.getName()); configuration.setBeanName("bar"); assertEquals("foo", configuration.getName()); context.close(); }
private void configureStep(TaskletStep step) throws JobExecutionAlreadyRunningException, JobRestartException, JobInstanceAlreadyCompleteException { this.step = step; JobSupport job = new JobSupport(); job.addStep(step); job.setBeanName("testJob"); jobExecution = jobRepository.createJobExecution(job.getName(), new JobParameters()); step.setJobRepository(jobRepository); step.setTransactionManager(new ResourcelessTransactionManager()); itemWriter = new ItemWriter<Object>() { @Override public void write(List<? extends Object> item) throws Exception { } }; stepExecution = new StepExecution(step.getName(), jobExecution); }
@Test public void testBeanName() throws Exception { StaticApplicationContext context = new StaticApplicationContext(); JobSupport configuration = new JobSupport(); context.getAutowireCapableBeanFactory().initializeBean(configuration, "bean"); context.refresh(); assertNotNull(configuration.getName()); configuration.setBeanName("foo"); context.getAutowireCapableBeanFactory().initializeBean(configuration, "bean"); assertEquals("bean", configuration.getName()); context.close(); }
@Test public void testBeanNameWithParentBeanDefinition() throws Exception { GenericApplicationContext context = new GenericApplicationContext(); ConstructorArgumentValues args = new ConstructorArgumentValues(); args.addGenericArgumentValue("bar"); context.registerBeanDefinition("parent", new RootBeanDefinition( JobSupport.class, args, null)); context.registerBeanDefinition("bean", new ChildBeanDefinition("parent")); context.refresh(); JobSupport configuration = (JobSupport) context .getBean("bean"); assertNotNull(configuration.getName()); assertEquals("bar", configuration.getName()); configuration.setBeanName("foo"); assertEquals("bar", configuration.getName()); configuration.setName("foo"); assertEquals("foo", configuration.getName()); context.close(); } }