public void ThrowsDeploymentsFailedExceptionForBadDeployments()
{
var badRevision = _deployer.PushRevision(new ApplicationSetRevision
{
ApplicationSetName = "HelloWorld",
Version = "BadWebLayerAppSpec",
LocalDirectory = ExampleRevisions.Directory("HelloWorld-BadWebLayerAppSpec"),
StackName = StackName
});
var expectedTail = string.Join("\n",
@"LifecycleEvent - BeforeInstall",
@"Script - \before-install.bat",
@"[stdout]",
@"[stdout]C:\Windows\system32>echo ""oh noes!"" ",
@"[stdout]""oh noes!""",
@"[stdout]",
@"[stdout]C:\Windows\system32>exit 1 ",
""
);
try
{
_deployer.DeployRelease(badRevision, "CodeDeployRole");
Assert.Fail("Expected DeploymentsFailedException");
}
catch (DeploymentsFailedException e)
{
Assert.That(e.FailedInstances.First().Tail, Is.EqualTo(expectedTail));
}
}