public void Should_Process_single_task()
        {
            int freq = 1;
            var task = MockRepository.GenerateMock<IRunTask>();
            task.Expect(x => x.Process());
            var tasks = new List<IRunTask> { task };
            IStop stop = MockRepository.GenerateMock<IStop>();
            stop.Expect(x => x.ShouldStop()).Return(false).Repeat.Once();
            stop.Expect(x => x.ShouldStop()).Return(true).Repeat.Once();
            var taskSet = new RunTaskSetWithProcess(tasks, stop, freq);

            taskSet.Process();

            task.VerifyAllExpectations();
            stop.VerifyAllExpectations();
        }
        public void Should_Stop_after_Processing_multiple_tasks()
        {
            int freq = 2;
            var task1 = MockRepository.GenerateMock<IRunTask>();
            task1.Expect(x => x.Process()).Repeat.Once();
            var task2 = MockRepository.GenerateMock<IRunTask>();
            task2.Expect(x => x.Process()).Repeat.Once();
            var tasks = new List<IRunTask> { task1, task2 };
            var stop = MockRepository.GenerateMock<IStop>();
            stop.Expect(x => x.ShouldStop()).Return(false).Repeat.Once();
            stop.Expect(x => x.ShouldStop()).Return(true).Repeat.Once();
            var taskSet = new RunTaskSetWithProcess(tasks, stop, freq);

            taskSet.Process();

            task1.VerifyAllExpectations();
            task2.VerifyAllExpectations();
            stop.VerifyAllExpectations();
        }
 public void Should_try_controller()
 {
     var log = LogManager.GetLogger("log");
     log4net.Config.XmlConfigurator.Configure();
     //var host = "metrics.london.ttldev.local";
     //var port = 2003;
     //var connectionString = "Data Source=nuget.london.ttldev.local;Initial Catalog=GoReportingSvn3;User Id=sa;Password=!bcde1234;";
     //var sqlGetter = new SqlGetter(connectionString, host, port, log);
     //var sql = "SELECT [Assigned],DateDiff(s,[Scheduled],[Assigned]) FROM [GoReportingSvn3].[dbo].[V_BuildStateTransition] where Scheduled > '2012-01-01'";
     //sqlGetter.Process("owain.test.Tlsvn3.Assigned", sql);
     //var ds = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.244.127.11)(PORT=1532)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=tracslg2)));User Id=temp_ttl_user;Password=tt1r34dj0b;";
     //var taskParam = new TaskParams("ThePath", "SELECT concat(dm_code,concat('_',current_ds_code)) AS dm, COUNT(DISTINCT (d.ID)) AS dm_count FROM DELIVERIES D WHERE d.tr_ID >= (SELECT TR_ID FROM TRANSACTION_FIRSTOFDAY WHERE date_of_tr = TRUNC(SYSDATE)) GROUP BY dm_code, current_ds_code", ds, "Oracle", "name", "graphiteudp");
     var tasks = new List<IRunTask> { new RunableRunTask(new WmiClient(), new DataClientFactory(log, null, null), new GraphiteClientFactory(log), log, new GraphiteTcpClient()) };
     var set = new RunTaskSetWithProcess(tasks, new Stop(), 1000);
     var sleep = new Sleeper();
     var stop = new Stop();
     var controller = new Controller(set, sleep, stop, log);
     controller.Process();
 }