Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public void AddWorker(Type type, string name, JobConf conf)
 {
     conf.AddWorker(type, name);
 }