public void RunTestSynchronousExecutor() { SimpleJobLauncher launcher = new SimpleJobLauncher(); IJobInstanceDao jobInstanceDao = new MapJobInstanceDao(); IJobExecutionDao jobExecutionDao = new MapJobExecutionDao(); IStepExecutionDao stepExecutionDao = new MapStepExecutionDao(); IExecutionContextDao executionContextDao = new MapExecutionContextDao(); IJobRepository jobRepository = new SimpleJobRepository(jobInstanceDao, jobExecutionDao, stepExecutionDao, executionContextDao); launcher.JobRepository = jobRepository; DefaultJobParametersConverter converter = new DefaultJobParametersConverter(); NameValueCollection props2 = new NameValueCollection { {"+dateDebut(date)", "1970/07/31"}, {"+everything(long)", "42"}, {"-balance(double)", "1000.0"}, {"+name(string)", "thierry"}, {"-default", "default"} }; JobParameters jobParameters = converter.GetJobParameters(props2); IJob job = new SimpleJob("myTestJob"); job.JobParametersValidator = new DummyValidator(); job.Restartable = false; TaskletStep step = new TaskletStep("simpleTS") { JobRepository = jobRepository, Tasklet = new MyDummyTasklet() }; ((SimpleJob)job).AddStep(step); ((SimpleJob) job).JobRepository = jobRepository; JobExecution jobExecution = launcher.Run(job, jobParameters); Assert.IsFalse(jobExecution.Status.IsUnsuccessful()); Assert.IsFalse(jobExecution.Status.IsRunning()); }
public void RunTestSystemCommandTasklet() { SimpleJobLauncher launcher = new SimpleJobLauncher(); IJobInstanceDao jobInstanceDao = new MapJobInstanceDao(); IJobExecutionDao jobExecutionDao = new MapJobExecutionDao(); IStepExecutionDao stepExecutionDao = new MapStepExecutionDao(); IExecutionContextDao executionContextDao = new MapExecutionContextDao(); IJobRepository jobRepository = new SimpleJobRepository(jobInstanceDao, jobExecutionDao, stepExecutionDao, executionContextDao); launcher.JobRepository = jobRepository; DefaultJobParametersConverter converter = new DefaultJobParametersConverter(); NameValueCollection props2 = new NameValueCollection { {"+dateDebut(date)", "1970/07/31"}, {"+everything(long)", "42"}, {"-balance(double)", "1000.0"}, {"+name(string)", "thierry"}, {"-default", "default"} }; JobParameters jobParameters = converter.GetJobParameters(props2); IJob job = new SimpleJob("myTestJob"); job.JobParametersValidator = new DummyValidator(); job.Restartable = false; TaskletStep step = new TaskletStep("simpleTS") {JobRepository = jobRepository}; SystemCommandTasklet tasklet = new SystemCommandTasklet { Command = "DEL MyDummyTasklet2_out_*.txt", WorkingDirectory = "C:/temp", Timeout = 10000000, SystemProcessExitCodeMapper = new SimpleSystemProcessExitCodeMapper() }; step.Tasklet = tasklet; step.RegisterStepExecutionListener(tasklet); ((SimpleJob)job).AddStep(step); ((SimpleJob)job).JobRepository = jobRepository; ITaskExecutor taskExecutor = new SimpleAsyncTaskExecutor(); launcher.TaskExecutor = taskExecutor; JobExecution jobExecution = launcher.Run(job, jobParameters); //wait for execution end (asynchronous) Assert.IsFalse(jobExecution.Status.IsUnsuccessful()); Assert.IsFalse(jobExecution.Status.IsRunning()); }