Add test to verify that lister returns all releases matched by StateMask

Signed-off-by: Daniel Lipovetsky <dlipovetsky@d2iq.com>
pull/9135/head
Daniel Lipovetsky 5 years ago
parent bed1a42a39
commit b3a20d5b4a
No known key found for this signature in database
GPG Key ID: 559B3DEDDDF8FF82

@ -17,6 +17,7 @@ limitations under the License.
package action package action
import ( import (
"fmt"
"testing" "testing"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
@ -366,3 +367,44 @@ func TestSelectorList(t *testing.T) {
assert.ElementsMatch(t, expectedFilteredList, res) 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))
}

Loading…
Cancel
Save