From b3a20d5b4aaf5e850a5f6ea00be25e47428e8a69 Mon Sep 17 00:00:00 2001 From: Daniel Lipovetsky Date: Tue, 10 Nov 2020 20:02:01 -0800 Subject: [PATCH] Add test to verify that lister returns all releases matched by StateMask Signed-off-by: Daniel Lipovetsky --- pkg/action/list_test.go | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/pkg/action/list_test.go b/pkg/action/list_test.go index 73009d523..494f70ceb 100644 --- a/pkg/action/list_test.go +++ b/pkg/action/list_test.go @@ -17,6 +17,7 @@ limitations under the License. package action import ( + "fmt" "testing" "github.com/stretchr/testify/assert" @@ -366,3 +367,44 @@ func TestSelectorList(t *testing.T) { assert.ElementsMatch(t, expectedFilteredList, res) }) } +func TestListAll(t *testing.T) { + wantReleaseName := "foo" + wantMaxVersions := 10 + + is := assert.New(t) + lister := newListFixture(t) + lister.Limit = 0 + lister.Filter = wantReleaseName + lister.StateMask = ListAll + + makeMeMultipleReleaseVersions(lister.cfg.Releases, "foo", wantMaxVersions, t) + + list, err := lister.Run() + is.NoError(err) + is.Len(list, wantMaxVersions) +} + +func makeMeMultipleReleaseVersions(store *storage.Storage, releaseName string, maxVersion int, t *testing.T) { + t.Helper() + + for i := 1; i <= maxVersion; i++ { + rel := releaseStub() + rel.Name = releaseName + rel.Version = i + + switch { + case rel.Version < maxVersion: + rel.Info.Status = release.StatusSuperseded + case rel.Version == maxVersion: + rel.Info.Status = release.StatusDeployed + } + + if err := store.Create(rel); err != nil { + t.Fatal(err) + } + } + + all, err := store.ListReleases() + assert.NoError(t, err) + assert.Len(t, all, maxVersion, fmt.Sprintf("sanity test: %d items added", maxVersion)) +}