Skip to content

Commit 9648a46

Browse files
committed
feat: add unit tests for deletion logic
If acm chart gets deleteSpokeChildApps, it will set, deletePattern to deleteChildApps and pass it to its app of apps (clustergroup chart)
1 parent f84958d commit 9648a46

1 file changed

Lines changed: 85 additions & 0 deletions

File tree

tests/application_policy_test.yaml

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,88 @@ tests:
189189
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].targetRevision
190190
value: "0.1.0"
191191

192+
- it: should render a spoke app of apps with the correct helm parameters (no deletePattern set)
193+
values:
194+
- ./clusterselector_values.yaml
195+
set:
196+
global:
197+
multiSourceSupport: true
198+
multiSourceRepoUrl: "https://charts.example.com"
199+
multiSourceTargetRevision: "0.1.0"
200+
main:
201+
multiSourceConfig:
202+
clusterGroupGitRepoUrl: "https://github.com/example/clustergroup-chart"
203+
clusterGroupChartGitRevision: "feature-branch"
204+
asserts:
205+
- hasDocuments:
206+
count: 3
207+
- documentSelector:
208+
path: metadata.name
209+
value: group-one-clustergroup-policy
210+
lengthEqual:
211+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters
212+
count: 19 # 17 (in the helper) +2 (1 override, and 1 clusterGroup.name)
213+
- documentSelector:
214+
path: metadata.name
215+
value: group-one-clustergroup-policy
216+
equal:
217+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters[16].name
218+
value: "global.deletePattern"
219+
- documentSelector:
220+
path: metadata.name
221+
value: group-one-clustergroup-policy
222+
equal:
223+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters[16].value
224+
value: null
225+
226+
- it: should render a spoke app of apps with the correct helm parameters (if deletePattern set to DeleteSpokeChildApps)
227+
values:
228+
- ./clusterselector_values.yaml
229+
set:
230+
global:
231+
multiSourceSupport: true
232+
multiSourceRepoUrl: "https://charts.example.com"
233+
multiSourceTargetRevision: "0.1.0"
234+
deletePattern: DeleteSpokeChildApps
235+
main:
236+
multiSourceConfig:
237+
clusterGroupGitRepoUrl: "https://github.com/example/clustergroup-chart"
238+
clusterGroupChartGitRevision: "feature-branch"
239+
asserts:
240+
- hasDocuments:
241+
count: 3
242+
- documentSelector:
243+
path: metadata.name
244+
value: group-one-clustergroup-policy
245+
lengthEqual:
246+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters
247+
count: 19 # 17 (in the helper) +2 (1 override, and 1 clusterGroup.name)
248+
- documentSelector:
249+
path: metadata.name
250+
value: group-one-clustergroup-policy
251+
equal:
252+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters[16].name
253+
value: "global.deletePattern"
254+
- documentSelector:
255+
path: metadata.name
256+
value: group-one-clustergroup-policy
257+
equal:
258+
path: spec.policy-templates[0].objectDefinition.spec.object-templates[0].objectDefinition.spec.sources[1].helm.parameters[16].value
259+
value: "DeleteChildApps"
260+
261+
- it: should not render a spoke app of apps (if deletePattern set to DeleteSpoke)
262+
values:
263+
- ./clusterselector_values.yaml
264+
set:
265+
global:
266+
multiSourceSupport: true
267+
multiSourceRepoUrl: "https://charts.example.com"
268+
multiSourceTargetRevision: "0.1.0"
269+
deletePattern: DeleteSpoke
270+
main:
271+
multiSourceConfig:
272+
clusterGroupGitRepoUrl: "https://github.com/example/clustergroup-chart"
273+
clusterGroupChartGitRevision: "feature-branch"
274+
asserts:
275+
- hasDocuments:
276+
count: 0

0 commit comments

Comments
 (0)