package nl.ipo.cds.executor; import junit.framework.Assert; import nl.ipo.cds.categories.IntegrationTests; import nl.ipo.cds.dao.ManagerDao; import org.junit.Before; import org.junit.Test; import org.junit.experimental.categories.Category; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; @ContextConfiguration (classes = JobExecutorTest.Config.class) @Category(IntegrationTests.class) public class JobExecutorTest extends AbstractTransactionalJUnit4SpringContextTests{ @Autowired private CdsJobExecuter jobExecuter; @Autowired private ManagerDao managerDao; @Configuration @ComponentScan (basePackageClasses = nl.ipo.cds.executor.config.Package.class) @ImportResource ({ "classpath:/nl/ipo/cds/dao/dataSource-applicationContext.xml", "classpath:/nl/ipo/cds/dao/dao-applicationContext.xml", "classpath:/nl/ipo/cds/context/propertyConfigurer-test.xml" // Override ConfigDirPropertyPlaceholderConfigurer }) public static class Config { @Bean public ConfigDir configDir () { return new ConfigDir ("classpath:"); } } @Before public void testInitialization(){ Assert.assertNotNull(jobExecuter); } @Test public void test () { } /* @Test public void testProcessSuccessfullJob() { CdsJob job = createJob(); Map<String, Process<?>> processes = new HashMap<String, Process<?>>(); ImportProcess testProcess = new ImportProcess (managerDao, null, null, null) { @Override public boolean process(final ImportJob job, final JobLogger logger) { // Do NOT Simulate a RuntimeException return true; } }; processes.put(job.getJobType().getNaam(), testProcess); jobExecuter.setProcesses(processes); jobExecuter.processJob(job); Assert.assertEquals(Job.CdsJob.FINISHED, job.getStatus()); } @Test public void testProcessExceptionJob() { CdsJob job = createJob(); Map<String, Process> processes = new HashMap<String, Process>(); Process testProcess = new AbstractProcess() { @Override public boolean executeJob(CdsJob job) { // Do NOT Simulate a RuntimeException throw new RuntimeException("Forced Exception"); } }; processes.put(job.getJobType().getNaam(), testProcess); jobExecuter.setProcesses(processes); jobExecuter.processJob(job); Assert.assertEquals(Job.CdsJob.ABORTED, job.getStatus()); } private CdsJob createJob() { CdsJob job = new CdsJob(); job.setJobType(createJobType()); return job; } private CdsJobType createJobType() { return this.managerDao.getJobTypeByName("VALIDATE"); } */ }