public void JobShouldRunIfRunnerThreadIsRunning() { string name = MethodBase.GetCurrentMethod().Name; JobConductorService fm = GetTestJobConductor(name); fm.StopJobRunnerThread(); fm.JobQueue.Clear(); fm.StartJobRunnerThread(); JobConf conf = fm.CreateJob(name); TestWorker.ValueToCheck = false; TestWorker worker = new TestWorker(); conf.AddWorker(worker); Expect.IsFalse(TestWorker.ValueToCheck); bool? finished = false; AutoResetEvent signal = new AutoResetEvent(false); fm.WorkerFinished += (o, a) => { Expect.IsTrue(TestWorker.ValueToCheck); finished = true; signal.Set(); }; fm.EnqueueJob(conf); signal.WaitOne(10000); Expect.IsTrue(finished == true); }
public void JobConfShouldCreateValidJob() { DirectoryInfo dir = new DirectoryInfo(".\\{0}"._Format(MethodBase.GetCurrentMethod().Name)); if (dir.Exists) { dir.Delete(true); } JobConf jobConf = new JobConf(); jobConf.JobDirectory = dir.FullName; GitGetSourceWorker worker = new GitGetSourceWorker("monkey"); jobConf.AddWorker(worker); string filePath = jobConf.Save(); JobConf check = JobConf.Load(filePath); Job job = check.CreateJob(); IWorker checkWork = job["monkey"]; Expect.IsNotNull(checkWork); Expect.AreEqual(typeof(GitGetSourceWorker), checkWork.GetType()); GitGetSourceWorker checkWorker = job.GetWorker <GitGetSourceWorker>("monkey"); Expect.AreEqual("Git", checkWorker.SourceControlType); }
public void AddWorker(Type type, string name, JobConf conf) { conf.AddWorker(type, name); }