From ac5987c848a438ea2251e73da395cdfcb21cdc92 Mon Sep 17 00:00:00 2001 From: Matthew Fisher Date: Tue, 6 Feb 2018 13:12:14 -0800 Subject: [PATCH] add test for rolling back from a FAILED deployment --- pkg/tiller/release_rollback_test.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/pkg/tiller/release_rollback_test.go b/pkg/tiller/release_rollback_test.go index aa3a764f6..4022fd107 100644 --- a/pkg/tiller/release_rollback_test.go +++ b/pkg/tiller/release_rollback_test.go @@ -141,9 +141,15 @@ func TestRollbackWithReleaseVersion(t *testing.T) { rs := rsFixture() rel := releaseStub() rs.env.Releases.Create(rel) - upgradedRel := upgradeReleaseVersion(rel) + v2 := upgradeReleaseVersion(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{ Name: rel.Name, @@ -155,6 +161,14 @@ func TestRollbackWithReleaseVersion(t *testing.T) { if err != nil { 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) {