Fix wrong deletion order (#1451)

Fixes #1450
This commit is contained in:
Yusuke Kuoka
2020-09-01 17:36:11 +09:00
committed by GitHub
parent 2ecf5780f3
commit 5f1698d0ed
4 changed files with 49 additions and 15 deletions
+10
View File
@@ -2622,3 +2622,13 @@ func (st *HelmState) LoadYAMLForEmbedding(release *ReleaseSpec, entries []interf
return result, nil
}
func (st *HelmState) Reverse() {
for i, j := 0, len(st.Releases)-1; i < j; i, j = i+1, j-1 {
st.Releases[i], st.Releases[j] = st.Releases[j], st.Releases[i]
}
for i, j := 0, len(st.Helmfiles)-1; i < j; i, j = i+1, j-1 {
st.Helmfiles[i], st.Helmfiles[j] = st.Helmfiles[j], st.Helmfiles[i]
}
}
+30
View File
@@ -2235,3 +2235,33 @@ func TestHelmState_Delete(t *testing.T) {
t.Run(tt.name, f)
}
}
func TestReverse(t *testing.T) {
num := 8
st := &HelmState{}
for i := 0; i < num; i++ {
name := fmt.Sprintf("%d", i)
st.Helmfiles = append(st.Helmfiles, SubHelmfileSpec{
Path: name,
})
st.Releases = append(st.Releases, ReleaseSpec{
Name: name,
})
}
st.Reverse()
for i := 0; i < num; i++ {
j := num - 1 - i
want := fmt.Sprintf("%d", j)
if got := st.Helmfiles[i].Path; got != want {
t.Errorf("sub-helmfile at %d has incorrect path: want %q, got %q", i, want, got)
}
if got := st.Releases[i].Name; got != want {
t.Errorf("release at %d has incorrect name: want %q, got %q", i, want, got)
}
}
}