public void GetJobParametersTest() { 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"}, {"unmarked", "unmarked"} }; JobParameters jobParameters2 = converter.GetJobParameters(props2); Assert.IsNotNull(jobParameters2); Assert.AreEqual(6,jobParameters2.GetParameters().Count); IDictionary<string, JobParameter> dico = jobParameters2.GetParameters(); foreach (KeyValuePair<string, JobParameter> entry in dico) { string key = entry.Key; JobParameter value = entry.Value; Assert.IsFalse(key.StartsWith("-")); if ("dateDebut".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.Date,value.Type); Assert.IsTrue(value.Identifying); } if ("everything".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.Long, value.Type); Assert.IsTrue(value.Identifying); } if ("balance".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.Double, value.Type); Assert.IsFalse(value.Identifying); } if ("name".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.String, value.Type); Assert.IsTrue(value.Identifying); } if ("default".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.String, value.Type); Assert.IsFalse(value.Identifying); } if ("unmarked".Equals(key)) { Assert.AreEqual(JobParameter.ParameterType.String, value.Type); Assert.IsTrue(value.Identifying); } } }
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()); }