void Ex(Action <DeploymentDetail> action) { var result = new DeploymentResult(); result.AddNote(Name); foreach (var role in _roles) { result.AddNote(role.Name); role.ForEachServerMapped(s => { result.AddNote(s.Name); s.ForEachDetail(d => { result.AddNote(d.Name); action(d); }); }); } }
public DeploymentResult Execute() { var deploymentResult = new DeploymentResult(); bool abort = false; Ex(d => { if (!abort) { var o = d.Verify(); deploymentResult.MergedWith(o); if (deploymentResult.ShouldAbort) { abort = true; } if (o.ContainsError()) { //display errors! DisplayResults(o); //stop. report verify error. return; } var result = d.Execute(); DisplayResults(result); deploymentResult.MergedWith(result); if (deploymentResult.ShouldAbort) { abort = true; } } else { Logging.Coarse(LogLevel.Error, "[Skip ] {0}", d.Name); } }); return(deploymentResult); }
public static void ShouldContain(this dropkick.DeploymentModel.DeploymentResult resultNotExists, DeploymentItemStatus status, int count) { resultNotExists.Results.Count(x => x.Status == status).ShouldBeEqualTo(count); }