fail when no releases match selector
This commit is contained in:
parent
afa45930c1
commit
575198424a
|
|
@ -464,6 +464,9 @@ func (state *HelmState) FilterReleases(labels []string) error {
|
|||
for _, r := range releaseSet {
|
||||
filteredReleases = append(filteredReleases, r)
|
||||
}
|
||||
if len(filteredReleases) == 0 {
|
||||
return errors.New("Specified selector did not match any releases.\n")
|
||||
}
|
||||
state.Releases = filteredReleases
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -825,3 +825,49 @@ func TestHelmState_TestReleasesNoCleanUp(t *testing.T) {
|
|||
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