Exemplo n.º 1
0
        public void Correctly_handles_when_service_agent_aggregator_throws_exception()
        {
            ApplicationException exception = new ApplicationException();

            MockRepository          mocks      = new MockRepository();
            IApplicationSettings    settings   = mocks.CreateMock <IApplicationSettings>();
            IServiceAgentAggregator aggregator = mocks.CreateMock <IServiceAgentAggregator>();

            IServiceRunner runner = new ServiceRunner(aggregator, settings);

            using (mocks.Record())
            {
                aggregator.ExecuteServiceAgentCycle();
                LastCall.Throw(exception);
            }

            using (mocks.Playback())
            {
                runner.Start();
                Thread.Sleep(500);
                runner.Stop();
            }

            mocks.VerifyAll();
        }
Exemplo n.º 2
0
        public void When_the_cycle_completes_we_should_get_an_event()
        {
            _startFired     = DateTime.MinValue;
            _completedFired = DateTime.MinValue;

            MockRepository          mocks      = new MockRepository();
            IServiceAgentAggregator aggregator = mocks.CreateMock <IServiceAgentAggregator>();

            ServiceRunner runner = new ServiceRunner(aggregator, null);

            using (mocks.Record())
            {
                aggregator.ExecuteServiceAgentCycle();
                LastCall.On(aggregator).Do(new Action(delegate { Thread.Sleep(50); }));
            }

            using (mocks.Playback())
            {
                runner.CycleStarted   += runner_CycleStarted;
                runner.CycleCompleted += runner_CycleCompleted;
                runner.RunOneCycle();

                Assert.IsTrue(_completedFired > _startFired);
            }

            mocks.VerifyAll();
        }
Exemplo n.º 3
0
        public void Run_service()
        {
            MockRepository          mocks      = new MockRepository();
            IApplicationSettings    settings   = mocks.CreateMock <IApplicationSettings>();
            IServiceAgentAggregator aggregator = mocks.CreateMock <IServiceAgentAggregator>();

            IServiceRunner runner = new ServiceRunner(aggregator, settings);

            using (mocks.Record())
            {
                aggregator.ExecuteServiceAgentCycle();
                LastCall.Repeat.Times(2, int.MaxValue);

                Expect.Call(settings.GetServiceSleepTime()).Return(10);
                LastCall.Repeat.Times(2, int.MaxValue);
            }

            using (mocks.Playback())
            {
                runner.Start();
                Thread.Sleep(500);
                runner.Stop();
            }

            mocks.VerifyAll();
        }
Exemplo n.º 4
0
		public ServiceRunner(IServiceAgentAggregator aggregator, IApplicationSettings applicationSettings)
		{
			_aggregator = aggregator;
			_applicationSettings = applicationSettings;
		}
Exemplo n.º 5
0
 public ServiceRunner(IServiceAgentAggregator aggregator, IApplicationSettings applicationSettings)
 {
     _aggregator          = aggregator;
     _applicationSettings = applicationSettings;
 }