Merge pull request #165 from cmeury/no-match-error
fail when no releases match selector
This commit is contained in:
commit
df264e2736
|
|
@ -464,6 +464,9 @@ func (state *HelmState) FilterReleases(labels []string) error {
|
||||||
for _, r := range releaseSet {
|
for _, r := range releaseSet {
|
||||||
filteredReleases = append(filteredReleases, r)
|
filteredReleases = append(filteredReleases, r)
|
||||||
}
|
}
|
||||||
|
if len(filteredReleases) == 0 {
|
||||||
|
return errors.New("Specified selector did not match any releases.\n")
|
||||||
|
}
|
||||||
state.Releases = filteredReleases
|
state.Releases = filteredReleases
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -825,3 +825,49 @@ func TestHelmState_TestReleasesNoCleanUp(t *testing.T) {
|
||||||
t.Run(tt.name, i)
|
t.Run(tt.name, i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHelmState_NoReleaseMatched(t *testing.T) {
|
||||||
|
releases := []ReleaseSpec{
|
||||||
|
{
|
||||||
|
Name: "releaseA",
|
||||||
|
Labels: map[string]string{
|
||||||
|
"foo": "bar",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
labels string
|
||||||
|
wantErr bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "happy path",
|
||||||
|
|
||||||
|
labels: "foo=bar",
|
||||||
|
wantErr: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "name does not exist",
|
||||||
|
labels: "name=releaseB",
|
||||||
|
wantErr: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "label does not match anything",
|
||||||
|
labels: "foo=notbar",
|
||||||
|
wantErr: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
i := func(t *testing.T) {
|
||||||
|
state := &HelmState{
|
||||||
|
Releases: releases,
|
||||||
|
}
|
||||||
|
errs := state.FilterReleases([]string{tt.labels})
|
||||||
|
if (errs != nil) != tt.wantErr {
|
||||||
|
t.Errorf("ReleaseStatuses() for %s error = %v, wantErr %v", tt.name, errs, tt.wantErr)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t.Run(tt.name, i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue