fix tests

Signed-off-by: yxxhero <aiopsclub@163.com>
This commit is contained in:
yxxhero 2023-09-16 15:26:58 +08:00
parent c34d74496a
commit f52ab82945
8 changed files with 27 additions and 135 deletions

View File

@ -173,12 +173,18 @@ releases:
} }
} }
t.Run("fail on unselected need by default", func(t *testing.T) { t.Run("skip-needs=true on selected by default", func(t *testing.T) {
check(t, testcase{ check(t, testcase{
fields: fields{ fields: fields{
skipNeeds: true, skipNeeds: true,
}, },
selectors: []string{"app=test"}, selectors: []string{"app=test"},
})
})
t.Run("fail on unselected need by default when skip-need=false", func(t *testing.T) {
check(t, testcase{
selectors: []string{"app=test"},
error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`, error: `in ./helmfile.yaml: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies`,
}) })
}) })

View File

@ -1,108 +0,0 @@
processing file "helmfile.yaml" in directory "."
changing working directory to "/path/to"
first-pass rendering starting for "helmfile.yaml.part.0": inherited=&{default map[] map[]}, overrode=<nil>
first-pass uses: &{default map[] map[]}
first-pass rendering output of "helmfile.yaml.part.0":
0:
1: releases:
2: - name: logging
3: chart: incubator/raw
4: namespace: kube-system
5:
6: - name: kubernetes-external-secrets
7: chart: incubator/raw
8: namespace: kube-system
9: needs:
10: - kube-system/logging
11:
12: - name: external-secrets
13: chart: incubator/raw
14: namespace: default
15: labels:
16: app: test
17: needs:
18: - kube-system/kubernetes-external-secrets
19:
20: - name: my-release
21: chart: incubator/raw
22: namespace: default
23: labels:
24: app: test
25: needs:
26: - default/external-secrets
27:
28:
29: # Disabled releases are treated as missing
30: - name: disabled
31: chart: incubator/raw
32: namespace: kube-system
33: installed: false
34:
35: - name: test2
36: chart: incubator/raw
37: needs:
38: - kube-system/disabled
39:
40: - name: test3
41: chart: incubator/raw
42: needs:
43: - test2
44:
first-pass produced: &{default map[] map[]}
first-pass rendering result of "helmfile.yaml.part.0": {default map[] map[]}
vals:
map[]
defaultVals:[]
second-pass rendering result of "helmfile.yaml.part.0":
0:
1: releases:
2: - name: logging
3: chart: incubator/raw
4: namespace: kube-system
5:
6: - name: kubernetes-external-secrets
7: chart: incubator/raw
8: namespace: kube-system
9: needs:
10: - kube-system/logging
11:
12: - name: external-secrets
13: chart: incubator/raw
14: namespace: default
15: labels:
16: app: test
17: needs:
18: - kube-system/kubernetes-external-secrets
19:
20: - name: my-release
21: chart: incubator/raw
22: namespace: default
23: labels:
24: app: test
25: needs:
26: - default/external-secrets
27:
28:
29: # Disabled releases are treated as missing
30: - name: disabled
31: chart: incubator/raw
32: namespace: kube-system
33: installed: false
34:
35: - name: test2
36: chart: incubator/raw
37: needs:
38: - kube-system/disabled
39:
40: - name: test3
41: chart: incubator/raw
42: needs:
43: - test2
44:
merged environment: &{default map[] map[]}
2 release(s) matching app=test found in helmfile.yaml
err: release "default/default/external-secrets" depends on "default/kube-system/kubernetes-external-secrets" which does not match the selectors. Please add a selector like "--selector name=kubernetes-external-secrets", or indicate whether to skip (--skip-needs) or include (--include-needs) these dependencies
changing working directory back to "/path/to"

View File

@ -102,17 +102,15 @@ second-pass rendering result of "helmfile.yaml.part.0":
44: 44:
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
2 release(s) matching app=test found in helmfile.yaml 3 release(s) matching app=test found in helmfile.yaml
processing 4 groups of releases in this order: processing 3 groups of releases in this order:
GROUP RELEASES GROUP RELEASES
1 default/kube-system/logging 1 default/kube-system/kubernetes-external-secrets
2 default/kube-system/kubernetes-external-secrets 2 default/default/external-secrets
3 default/default/external-secrets 3 default/default/my-release
4 default/default/my-release
processing releases in group 1/4: default/kube-system/logging processing releases in group 1/3: default/kube-system/kubernetes-external-secrets
processing releases in group 2/4: default/kube-system/kubernetes-external-secrets processing releases in group 2/3: default/default/external-secrets
processing releases in group 3/4: default/default/external-secrets processing releases in group 3/3: default/default/my-release
processing releases in group 4/4: default/default/my-release
changing working directory back to "/path/to" changing working directory back to "/path/to"

View File

@ -102,7 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0":
44: 44:
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
1 release(s) matching name=test2 found in helmfile.yaml 2 release(s) matching name=test2 found in helmfile.yaml
processing 2 groups of releases in this order: processing 2 groups of releases in this order:
GROUP RELEASES GROUP RELEASES

View File

@ -102,15 +102,13 @@ second-pass rendering result of "helmfile.yaml.part.0":
44: 44:
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
3 release(s) matching name=test3 found in helmfile.yaml 2 release(s) matching name=test3 found in helmfile.yaml
processing 3 groups of releases in this order: processing 2 groups of releases in this order:
GROUP RELEASES GROUP RELEASES
1 default/kube-system/disabled 1 default//test2
2 default//test2 2 default//test3
3 default//test3
processing releases in group 1/3: default/kube-system/disabled processing releases in group 1/2: default//test2
processing releases in group 2/3: default//test2 processing releases in group 2/2: default//test3
processing releases in group 3/3: default//test3
changing working directory back to "/path/to" changing working directory back to "/path/to"

View File

@ -102,7 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0":
44: 44:
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
2 release(s) matching app=test found in helmfile.yaml 4 release(s) matching app=test found in helmfile.yaml
processing 4 groups of releases in this order: processing 4 groups of releases in this order:
GROUP RELEASES GROUP RELEASES

View File

@ -102,7 +102,7 @@ second-pass rendering result of "helmfile.yaml.part.0":
44: 44:
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
1 release(s) matching name=test3 found in helmfile.yaml 3 release(s) matching name=test3 found in helmfile.yaml
processing 3 groups of releases in this order: processing 3 groups of releases in this order:
GROUP RELEASES GROUP RELEASES

View File

@ -104,11 +104,9 @@ second-pass rendering result of "helmfile.yaml.part.0":
merged environment: &{default map[] map[]} merged environment: &{default map[] map[]}
2 release(s) matching app=test found in helmfile.yaml 2 release(s) matching app=test found in helmfile.yaml
processing 2 groups of releases in this order: processing 1 groups of releases in this order:
GROUP RELEASES GROUP RELEASES
1 default/default/external-secrets 1 default/default/external-secrets, default/default/my-release
2 default/default/my-release
processing releases in group 1/2: default/default/external-secrets processing releases in group 1/1: default/default/external-secrets, default/default/my-release
processing releases in group 2/2: default/default/my-release
changing working directory back to "/path/to" changing working directory back to "/path/to"