parent
37f6ae8557
commit
1768e5dea7
|
|
@ -553,6 +553,10 @@ func (helm *mockHelmExec) DecryptSecret(name string) (string, error) {
|
||||||
return "", nil
|
return "", nil
|
||||||
}
|
}
|
||||||
func (helm *mockHelmExec) TestRelease(name string, flags ...string) error {
|
func (helm *mockHelmExec) TestRelease(name string, flags ...string) error {
|
||||||
|
if strings.Contains(name, "error") {
|
||||||
|
return errors.New("error")
|
||||||
|
}
|
||||||
|
helm.releases = append(helm.releases, mockRelease{name: name, flags: flags})
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -743,3 +747,62 @@ func TestHelmState_ReleaseStatuses(t *testing.T) {
|
||||||
t.Run(tt.name, i)
|
t.Run(tt.name, i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHelmState_TestReleasesNoCleanUp(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
cleanup bool
|
||||||
|
releases []ReleaseSpec
|
||||||
|
helm *mockHelmExec
|
||||||
|
want []mockRelease
|
||||||
|
wantErr bool
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "happy path",
|
||||||
|
releases: []ReleaseSpec{
|
||||||
|
{
|
||||||
|
Name: "releaseA",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
helm: &mockHelmExec{},
|
||||||
|
want: []mockRelease{{"releaseA", []string{"--timeout", "1"}}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "do cleanup",
|
||||||
|
cleanup: true,
|
||||||
|
releases: []ReleaseSpec{
|
||||||
|
{
|
||||||
|
Name: "releaseB",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
helm: &mockHelmExec{},
|
||||||
|
want: []mockRelease{{"releaseB", []string{"--cleanup", "--timeout", "1"}}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "happy path",
|
||||||
|
releases: []ReleaseSpec{
|
||||||
|
{
|
||||||
|
Name: "error",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
helm: &mockHelmExec{},
|
||||||
|
wantErr: true,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, tt := range tests {
|
||||||
|
i := func(t *testing.T) {
|
||||||
|
state := &HelmState{
|
||||||
|
Releases: tt.releases,
|
||||||
|
}
|
||||||
|
errs := state.TestReleases(tt.helm, tt.cleanup, 1)
|
||||||
|
if (errs != nil) != tt.wantErr {
|
||||||
|
t.Errorf("TestReleases() for %s error = %v, wantErr %v", tt.name, errs, tt.wantErr)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if !reflect.DeepEqual(tt.helm.releases, tt.want) {
|
||||||
|
t.Errorf("HelmState.TestReleases() for [%s] = %v, want %v", tt.name, tt.helm.releases, tt.want)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
t.Run(tt.name, i)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue