add test for rolling back from a FAILED deployment

pull/3539/head
Matthew Fisher 8 years ago committed by Johnny Bergström
parent 289ffcc004
commit ac5987c848

@ -141,9 +141,15 @@ func TestRollbackWithReleaseVersion(t *testing.T) {
rs := rsFixture() rs := rsFixture()
rel := releaseStub() rel := releaseStub()
rs.env.Releases.Create(rel) rs.env.Releases.Create(rel)
upgradedRel := upgradeReleaseVersion(rel) v2 := upgradeReleaseVersion(rel)
rs.env.Releases.Update(rel) rs.env.Releases.Update(rel)
rs.env.Releases.Create(upgradedRel) rs.env.Releases.Create(v2)
v3 := upgradeReleaseVersion(v2)
// retain the original release as DEPLOYED while the update should fail
v2.Info.Status.Code = release.Status_DEPLOYED
v3.Info.Status.Code = release.Status_FAILED
rs.env.Releases.Update(v2)
rs.env.Releases.Create(v3)
req := &services.RollbackReleaseRequest{ req := &services.RollbackReleaseRequest{
Name: rel.Name, Name: rel.Name,
@ -155,6 +161,14 @@ func TestRollbackWithReleaseVersion(t *testing.T) {
if err != nil { if err != nil {
t.Fatalf("Failed rollback: %s", err) t.Fatalf("Failed rollback: %s", err)
} }
// check that v2 is now in a SUPERSEDED state
oldRel, err := rs.env.Releases.Get(rel.Name, 2)
if err != nil {
t.Fatalf("Failed to retrieve v1: %s", err)
}
if oldRel.Info.Status.Code != release.Status_SUPERSEDED {
t.Errorf("Expected v2 to be in a SUPERSEDED state, got %q", oldRel.Info.Status.Code)
}
} }
func TestRollbackReleaseNoHooks(t *testing.T) { func TestRollbackReleaseNoHooks(t *testing.T) {

Loading…
Cancel
Save