public void RunHandlesNoActions()
        {
            // Initialise the test
            var task = new CruiseServerControlTask();
            task.Logger = this.logger;
            task.ClientFactory = this.factory;
            using (mocks.Ordered())
            {
                this.InitialiseStandardBuildInfo();
                this.InitialiseClient("tcp://localhost:21234", "Test", "Dummy");
                this.InitialiseTermination(0);
            }

            // Run the test
            this.mocks.ReplayAll();
            task.Run(result);

            // Verify the results
            Assert.AreEqual(IntegrationStatus.Success, result.Status);
            this.mocks.VerifyAll();
        }
        public void RunASingleActionOnMultipleProjects()
        {
            // Initialise the test
            var task = new CruiseServerControlTask();
            task.Logger = this.logger;
            task.ClientFactory = this.factory;
            using (mocks.Ordered())
            {
                this.InitialiseStandardBuildInfo();
                this.InitialiseClient("tcp://localhost:21234", "Test", "Dummy");
                this.InitialiseActionEvents(
                    "*",
                    "Performing start project action",
                    p =>
                    {
                        this.client.StartProject(p);
                    },
                    "Test",
                    "Dummy");
                this.InitialiseTermination(2);
            }

            // Add the action
            task.Actions = new CruiseServerControlTaskAction[]
            {
                new CruiseServerControlTaskAction
                {
                    Project = "*",
                    Type = CruiseServerControlTaskActionType.StartProject
                }
            };

            // Run the test
            this.mocks.ReplayAll();
            task.Run(result);

            // Verify the results
            Assert.AreEqual(IntegrationStatus.Success, result.Status);
            this.mocks.VerifyAll();
        }