public void ShouldRaiseErrorWhenOneOfTheDeploymentTasksFailed() { var log = Substitute.For<ILog>(); var session = Substitute.For<IOctopusSession>(); session.Get<Task>(Arg.Any<String>()).Returns(new Task { State = "Failed", Links = new Dictionary<string, string> { { "Web", "Foo" } } }); var watcher = new DeploymentWatcher(log); watcher.WaitForDeploymentsToFinish(session, new[] { "link" }, TimeSpan.FromSeconds(5), TimeSpan.FromSeconds(0.5)); }
public void ShouldRaiseErrorWhenDeploymentsTakeLongerThanExpected() { var log = Substitute.For<ILog>(); var session = Substitute.For<IOctopusSession>(); session.Get<Task>(Arg.Any<String>()).Returns(new Task { State = "Executing" }); var watcher = new DeploymentWatcher(log); watcher.WaitForDeploymentsToFinish(session, new[] { "link" }, TimeSpan.FromSeconds(0.5), TimeSpan.FromSeconds(0.5)); }
public void ShouldWaitForDeploymentsToFinish() { var log = Substitute.For<ILog>(); var session = Substitute.For<IOctopusSession>(); session.Get<Task>(Arg.Any<String>()).Returns(CreateTask("Executing"), CreateTask("Executing"), CreateTask("Success")); var watcher = new DeploymentWatcher(log); var stopwatch = Stopwatch.StartNew(); watcher.WaitForDeploymentsToFinish(session, new[] { "link" }, TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(0.5)); stopwatch.Stop(); Assert.IsTrue(stopwatch.Elapsed >= TimeSpan.FromSeconds(1)); }