public void RunMinute() { var now = DateTime.UtcNow; var tt = new TestTask((byte)now.Hour, (sbyte)now.Minute); tt.Run(); Assert.IsTrue(tt.Called); }
public void RunWrongHour() { var now = DateTime.UtcNow; var hour = now.Hour > 1 ? now.Hour - 1 : 2; var tt = new TestTask((byte)hour); tt.Run(); Assert.IsFalse(tt.Called); }
public void RunWrongMinute() { var now = DateTime.UtcNow; var minute = now.Minute > 1 ? now.Minute - 1 : 2; var tt = new TestTask((byte)now.Hour, (sbyte)minute); tt.Run(); Assert.IsFalse(tt.Called); }
public async Task BackgroundTaskBlocks() { using (var task = new TestTask()) { task.InitializeComponent(this.Core); await task.Run().ConfigureAwait(false); Assert.IsTrue(task.CompletedA); Assert.IsTrue(task.CompletedB); } }
public void RunWithFalseResultMarksStatusAsFailed() { var task = new TestTask { Result = () => false }; var result = mocks.Create <IIntegrationResult>().Object; task.Run(result); mocks.VerifyAll(); Assert.IsTrue(task.Executed); Assert.AreEqual(ItemBuildStatus.CompletedFailed, task.CurrentStatus.Status); }
public void RunWithTrueResultMarksStatusAsSuccess() { var task = new TestTask { Result = () => true }; var result = mocks.DynamicMock <IIntegrationResult>(); mocks.ReplayAll(); task.Run(result); mocks.VerifyAll(); Assert.IsTrue(task.Executed); Assert.AreEqual(ItemBuildStatus.CompletedSuccess, task.CurrentStatus.Status); }
public void RunWithFalseResultMarksStatusAsFailed() { var task = new TestTask { Result = () => false }; var result = mocks.DynamicMock<IIntegrationResult>(); mocks.ReplayAll(); task.Run(result); mocks.VerifyAll(); Assert.IsTrue(task.Executed); Assert.AreEqual(ItemBuildStatus.CompletedFailed, task.CurrentStatus.Status); }
public void Execute_should_call_wait_for_exit_before_ExitCode() { //Since mono is broken and won't give us the ExitCode otherwise. var process = new ProcessStub(); var waitForExitCalled = false; process.WaitForExitHandler = () => waitForExitCalled = true; process.GetExitCodeHandler = () => { Assert.IsTrue(waitForExitCalled); return 0; }; var platform = new ExecutionEnvironmentStub(); var fileSystem = new InMemoryFileSystem(); platform.RunHandler = (program, args, handler) => handler(process); var task = new TestTask(fileSystem, platform); task.Run(); }
public void RunWithExceptionMarksStatusAsFailed() { var task = new TestTask { Result = () => { throw new CruiseControlException(); } }; var result = mocks.Create <IIntegrationResult>().Object; // This may look like a weird test, but we don't care that Run() has an exception try { task.Run(result); } catch (Exception) { } mocks.VerifyAll(); Assert.IsTrue(task.Executed); Assert.AreEqual(ItemBuildStatus.CompletedFailed, task.CurrentStatus.Status); }
public void ApplyParametersStoresTheArguments() { var parameters = new Dictionary <string, string>(); var definitions = new List <ParameterBase>(); var subTask = new MockTask(); var task = new TestTask { Tasks = new ITask[] { subTask } }; var result = mocks.Create <IIntegrationResult>().Object; task.ApplyParameters(parameters, definitions); task.Run(result); mocks.VerifyAll(); Assert.AreSame(parameters, subTask.Parameters); Assert.AreSame(definitions, subTask.Definitions); Assert.IsTrue(subTask.Executed); }
public void ApplyParametersStoresTheArguments() { var parameters = new Dictionary<string, string>(); var definitions = new List<ParameterBase>(); var subTask = new MockTask(); var task = new TestTask { Tasks = new ITask[] { subTask } }; var result = mocks.DynamicMock<IIntegrationResult>(); mocks.ReplayAll(); task.ApplyParameters(parameters, definitions); task.Run(result); mocks.VerifyAll(); Assert.AreSame(parameters, subTask.Parameters); Assert.AreSame(definitions, subTask.Definitions); Assert.IsTrue(subTask.Executed); }
public void RunWithExceptionMarksStatusAsFailed() { var task = new TestTask { Result = () => { throw new CruiseControlException(); } }; var result = mocks.DynamicMock<IIntegrationResult>(); mocks.ReplayAll(); // This may look like a weird test, but we don't care that Run() has an exception try { task.Run(result); } catch (Exception) { } mocks.VerifyAll(); Assert.IsTrue(task.Executed); Assert.AreEqual(ItemBuildStatus.CompletedFailed, task.CurrentStatus.Status); }