diff --git a/charts/common/_unittests/definition-blocks/Chart.lock b/charts/common/_unittests/definition-blocks/Chart.lock new file mode 100644 index 00000000..f36efb8b --- /dev/null +++ b/charts/common/_unittests/definition-blocks/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../ + version: 0.0.1-canary.1 +digest: sha256:12b970b6e48c7736357e45d4e677347c77128460f05768c0405fb5665459e88e +generated: "2025-02-19T01:19:34.140868045Z" diff --git a/charts/common/_unittests/definition-blocks/Chart.yaml b/charts/common/_unittests/definition-blocks/Chart.yaml new file mode 100644 index 00000000..182b8238 --- /dev/null +++ b/charts/common/_unittests/definition-blocks/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: definition-blocks-test +version: 0.1.0 + +dependencies: + - name: common + repository: "file://../../" + version: ">=0.0.0-0" diff --git a/charts/common/_unittests/definition-blocks/_common.config.yaml b/charts/common/_unittests/definition-blocks/_common.config.yaml new file mode 100644 index 00000000..fd21a72d --- /dev/null +++ b/charts/common/_unittests/definition-blocks/_common.config.yaml @@ -0,0 +1,8 @@ +dynamicComponents: false + +components: + - testComponent + +componentLayering: + testComponent: + - defaults diff --git a/charts/common/_unittests/definition-blocks/templates/render.yaml b/charts/common/_unittests/definition-blocks/templates/render.yaml new file mode 100644 index 00000000..c1d163bb --- /dev/null +++ b/charts/common/_unittests/definition-blocks/templates/render.yaml @@ -0,0 +1 @@ +{{- include "common.render" . -}} diff --git a/charts/common/_unittests/definition-blocks/templates/test-deepmerge.yaml b/charts/common/_unittests/definition-blocks/templates/test-deepmerge.yaml new file mode 100644 index 00000000..41752a02 --- /dev/null +++ b/charts/common/_unittests/definition-blocks/templates/test-deepmerge.yaml @@ -0,0 +1,17 @@ +{{- $ := . -}} +{{- $_ := set $ "__common" (dict "fcallResult" nil) -}} + +{{/* Test case: Deep merge with null handling */}} +{{- $map1 := dict "a" 1 "b" (dict "x" 1 "y" 2) -}} +{{- $map2 := dict "b" (dict "x" nil "z" 3) "c" "new" -}} + +{{- $_ := list $ $map1 $map2 | include "common.utils.deepMerge" -}} +{{- $merged := $.__common.fcallResult -}} +{{- $merged = set $merged "b" (omit $merged.b "x") -}} + +apiVersion: v1 +kind: ConfigMap +metadata: + name: deepmerge-test +data: + result: "{{ eq (toJson $merged) (toJson (dict "a" 1 "b" (dict "y" 2 "z" 3) "c" "new")) }}" diff --git a/charts/common/_unittests/definition-blocks/templates/test-transformmaptolist.yaml b/charts/common/_unittests/definition-blocks/templates/test-transformmaptolist.yaml new file mode 100644 index 00000000..5c7d0b36 --- /dev/null +++ b/charts/common/_unittests/definition-blocks/templates/test-transformmaptolist.yaml @@ -0,0 +1,19 @@ +{{- $ := . -}} +{{- $_ := set $ "__common" (dict "fcallResult" nil) -}} + +{{/* Test case: Map to list conversion with index key and defaults */}} +{{- $base := dict "spec" (dict "containers" (dict "main" (dict "image" "nginx") "sidecar" (dict "image" "proxy"))) -}} +{{- $paths := list (dict "path" "spec.containers" "indexKey" "name" "defaultFor" (list "id")) -}} + +{{- $_ := list $ $base $paths | include "common.utils.transformMapToList" -}} +{{- $result := $base.spec.containers -}} +{{- $expected := list + (dict "name" "main" "id" "main" "image" "nginx") + (dict "name" "sidecar" "id" "sidecar" "image" "proxy") -}} + +apiVersion: v1 +kind: ConfigMap +metadata: + name: transformmaptolist-test +data: + result: {{ eq (toJson (sortAlpha $result)) (toJson (sortAlpha $expected)) | quote }} diff --git a/charts/common/_unittests/definition-blocks/tests/deepmerge_test.yaml b/charts/common/_unittests/definition-blocks/tests/deepmerge_test.yaml new file mode 100644 index 00000000..a54ec12f --- /dev/null +++ b/charts/common/_unittests/definition-blocks/tests/deepmerge_test.yaml @@ -0,0 +1,11 @@ +suite: "Deep Merge Function Tests" + +templates: + - "templates/test-deepmerge.yaml" + +tests: + - it: "Should output 'true' if the result matches expected" + asserts: + - equal: + path: data.result + value: "true" diff --git a/charts/common/_unittests/definition-blocks/tests/transformmaptolist_test.yaml b/charts/common/_unittests/definition-blocks/tests/transformmaptolist_test.yaml new file mode 100644 index 00000000..6a3cdbb1 --- /dev/null +++ b/charts/common/_unittests/definition-blocks/tests/transformmaptolist_test.yaml @@ -0,0 +1,11 @@ +suite: "Transform Map to List Function Tests" + +templates: + - "templates/test-transformmaptolist.yaml" + +tests: + - it: "Should output 'true' if the result matches expected" + asserts: + - equal: + path: data.result + value: "true" diff --git a/charts/common/_unittests/definition-blocks/values.yaml b/charts/common/_unittests/definition-blocks/values.yaml new file mode 100644 index 00000000..0939e050 --- /dev/null +++ b/charts/common/_unittests/definition-blocks/values.yaml @@ -0,0 +1,4 @@ +defaults: {} + +testComponent: + __enabled: true diff --git a/charts/common/_unittests/layout-tests/dynamic-components/Chart.lock b/charts/common/_unittests/layout-tests/dynamic-components/Chart.lock new file mode 100644 index 00000000..adb672d8 --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../.. + version: 0.0.1-canary.1 +digest: sha256:7c13dc03b796f547ab8140426d7ac70d5735ad380e0faf0e4bd23d918caac00d +generated: "2025-02-19T00:51:26.628880646Z" diff --git a/charts/common/_unittests/layout-tests/dynamic-components/Chart.yaml b/charts/common/_unittests/layout-tests/dynamic-components/Chart.yaml new file mode 100644 index 00000000..3d8ca40c --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: dynamic-components-test +version: 0.1.0 + +dependencies: + - name: common + repository: "file://../../.." + version: ">=0.0.0-0" diff --git a/charts/common/_unittests/layout-tests/dynamic-components/_common.config.yaml b/charts/common/_unittests/layout-tests/dynamic-components/_common.config.yaml new file mode 100644 index 00000000..086ef9d9 --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/_common.config.yaml @@ -0,0 +1,9 @@ +dynamicComponents: true +componentsKey: dynamicComponents + +componentLayering: | + { + "component-a": ["defaultLayer", "dynamicComponents[component-a]"], + "component-b": ["defaultLayer", "dynamicComponents[component-b]"], + "component-c": ["defaultLayer", "dynamicComponents[component-c]"] + } diff --git a/charts/common/_unittests/layout-tests/dynamic-components/templates/render.yaml b/charts/common/_unittests/layout-tests/dynamic-components/templates/render.yaml new file mode 100644 index 00000000..8646103a --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/templates/render.yaml @@ -0,0 +1 @@ +{{- include "common.render" $ }} diff --git a/charts/common/_unittests/layout-tests/dynamic-components/tests/dynamic-components_test.yaml b/charts/common/_unittests/layout-tests/dynamic-components/tests/dynamic-components_test.yaml new file mode 100644 index 00000000..141c5672 --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/tests/dynamic-components_test.yaml @@ -0,0 +1,34 @@ +suite: "Dynamic Components Tests" + +templates: + - "templates/render.yaml" + +tests: + - it: "Should render only enabled components" + asserts: + - hasDocuments: + count: 2 + + - it: "Should render component-a with correct configuration" + documentIndex: 0 + asserts: + - isKind: + of: Deployment + - equal: + path: spec.replicas + value: 4 + - matchRegex: + path: metadata.name + pattern: component-a + + - it: "Should render component-c with correct configuration" + documentIndex: 1 + asserts: + - isKind: + of: Deployment + - equal: + path: spec.replicas + value: 3 + - matchRegex: + path: metadata.name + pattern: component-c diff --git a/charts/common/_unittests/layout-tests/dynamic-components/values.yaml b/charts/common/_unittests/layout-tests/dynamic-components/values.yaml new file mode 100644 index 00000000..3d05f360 --- /dev/null +++ b/charts/common/_unittests/layout-tests/dynamic-components/values.yaml @@ -0,0 +1,58 @@ +defaultLayer: + __enabled: true + workload: + __enabled: true + kind: Deployment + spec: + template: + spec: + containers: + main: + name: main + image: nginx:latest + +defaultLayer: + workload: + __enabled: true + kind: Deployment + spec: + selector: + matchLabels: + app: test-workload + template: + metadata: + labels: + app: test-workload + spec: + containers: + main: + name: main + image: nginx:latest + +dynamicComponents: + component-a: + __enabled: true + workload: + __enabled: true + metadata: + name: component-a + spec: + replicas: 4 + + component-b: + __enabled: false + workload: + __enabled: true + metadata: + name: component-b + spec: + replicas: 2 + + component-c: + __enabled: true + workload: + __enabled: true + metadata: + name: component-c + spec: + replicas: 3 diff --git a/charts/common/_unittests/layout-tests/multiple-components/Chart.lock b/charts/common/_unittests/layout-tests/multiple-components/Chart.lock new file mode 100644 index 00000000..0ec2402e --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../.. + version: 0.0.1-canary.1 +digest: sha256:7c13dc03b796f547ab8140426d7ac70d5735ad380e0faf0e4bd23d918caac00d +generated: "2025-02-19T00:51:23.431583819Z" diff --git a/charts/common/_unittests/layout-tests/multiple-components/Chart.yaml b/charts/common/_unittests/layout-tests/multiple-components/Chart.yaml new file mode 100644 index 00000000..e6119f93 --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: multiple-components-test +version: 0.1.0 + +dependencies: + - name: common + repository: "file://../../.." + version: ">=0.0.0-0" diff --git a/charts/common/_unittests/layout-tests/multiple-components/_common.config.yaml b/charts/common/_unittests/layout-tests/multiple-components/_common.config.yaml new file mode 100644 index 00000000..a061aaf7 --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/_common.config.yaml @@ -0,0 +1,15 @@ +dynamicComponents: false + +components: + - component1 + - component2 + +componentLayering: + component1: + - defaultLayer + - component1Overrides + component2: + - defaultLayer + - component2Overrides + +nameOverride: "" diff --git a/charts/common/_unittests/layout-tests/multiple-components/templates/render.yaml b/charts/common/_unittests/layout-tests/multiple-components/templates/render.yaml new file mode 100644 index 00000000..8646103a --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/templates/render.yaml @@ -0,0 +1 @@ +{{- include "common.render" $ }} diff --git a/charts/common/_unittests/layout-tests/multiple-components/tests/multiple-components_test.yaml b/charts/common/_unittests/layout-tests/multiple-components/tests/multiple-components_test.yaml new file mode 100644 index 00000000..98b7d2a7 --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/tests/multiple-components_test.yaml @@ -0,0 +1,26 @@ +suite: "Multiple Components Tests" + +templates: + - "templates/render.yaml" + +tests: + - it: "Should render both components as Deployments" + asserts: + - isKind: + of: Deployment + - hasDocuments: + count: 2 + + - it: "Should render component1 with correct replicas" + documentIndex: 0 + asserts: + - equal: + path: spec.replicas + value: 3 + + - it: "Should render component2 with correct replicas" + documentIndex: 1 + asserts: + - equal: + path: spec.replicas + value: 2 diff --git a/charts/common/_unittests/layout-tests/multiple-components/values.yaml b/charts/common/_unittests/layout-tests/multiple-components/values.yaml new file mode 100644 index 00000000..c13fff17 --- /dev/null +++ b/charts/common/_unittests/layout-tests/multiple-components/values.yaml @@ -0,0 +1,34 @@ +defaultLayer: + workload: + __enabled: true + kind: Deployment + spec: + selector: + matchLabels: + app: test-workload + template: + metadata: + labels: + app: test-workload + spec: + containers: + main: + name: main + image: nginx:latest + +component1: + __enabled: true + workload: + __enabled: true + spec: + replicas: 3 + +component2: + __enabled: true + workload: + __enabled: true + spec: + replicas: 2 + +component1Overrides: {} +component2Overrides: {} diff --git a/charts/common/_unittests/layout-tests/single-component/templates/render.yaml b/charts/common/_unittests/layout-tests/single-component/templates/render.yaml index c1d163bb..8646103a 100644 --- a/charts/common/_unittests/layout-tests/single-component/templates/render.yaml +++ b/charts/common/_unittests/layout-tests/single-component/templates/render.yaml @@ -1 +1 @@ -{{- include "common.render" . -}} +{{- include "common.render" $ }} diff --git a/charts/common/_unittests/layout-tests/single-component/values.yaml b/charts/common/_unittests/layout-tests/single-component/values.yaml index c8a92606..b2c964f2 100644 --- a/charts/common/_unittests/layout-tests/single-component/values.yaml +++ b/charts/common/_unittests/layout-tests/single-component/values.yaml @@ -2,8 +2,20 @@ myComponent: __enabled: true workload: __enabled: true + kind: Deployment spec: - image: "alpine:3.17" + selector: + matchLabels: + app: test-workload + template: + metadata: + labels: + app: test-workload + spec: + containers: + main: + name: main + image: "alpine:3.17" replicas: 2 myComponentDefaults: {} diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.lock b/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.lock new file mode 100644 index 00000000..9bae194f --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../.. + version: 0.0.1-canary.1 +digest: sha256:7c13dc03b796f547ab8140426d7ac70d5735ad380e0faf0e4bd23d918caac00d +generated: "2025-02-19T00:53:21.587202472Z" diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.yaml b/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.yaml new file mode 100644 index 00000000..e2a2bc2c --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: all-resource-kinds-test +version: 0.1.0 + +dependencies: + - name: common + repository: "file://../../.." + version: ">=0.0.0-0" diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/_common.config.yaml b/charts/common/_unittests/resource-tests/all-resource-kinds/_common.config.yaml new file mode 100644 index 00000000..530574b8 --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/_common.config.yaml @@ -0,0 +1,9 @@ +dynamicComponents: false + +components: + - testComponent + +componentLayering: + testComponent: + - defaults + - testComponent diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/templates/render.yaml b/charts/common/_unittests/resource-tests/all-resource-kinds/templates/render.yaml new file mode 100644 index 00000000..8646103a --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/templates/render.yaml @@ -0,0 +1 @@ +{{- include "common.render" $ }} diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/tests/all-resource-kinds_test.yaml b/charts/common/_unittests/resource-tests/all-resource-kinds/tests/all-resource-kinds_test.yaml new file mode 100644 index 00000000..b1418fa3 --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/tests/all-resource-kinds_test.yaml @@ -0,0 +1,160 @@ +suite: "All Resource Kinds Tests" + +templates: + - "templates/render.yaml" + +tests: + - it: "Should generate all enabled resources" + asserts: + - hasDocuments: + count: 9 # All resources enabled + + - it: "Should generate ConfigMap with correct data" + documentIndex: 0 + asserts: + - isKind: + of: ConfigMap + - equal: + path: metadata.name + value: test-configmap + - equal: + path: data.key1 + value: value1 + - equal: + path: data.key2 + value: value2 + + - it: "Should generate PodDisruptionBudget with correct spec" + documentIndex: 1 + asserts: + - isKind: + of: PodDisruptionBudget + - equal: + path: metadata.name + value: test-pdb + - equal: + path: spec.minAvailable + value: 1 + + - it: "Should generate Role with correct rules" + documentIndex: 2 + asserts: + - isKind: + of: Role + - equal: + path: metadata.name + value: test-role + - equal: + path: rules[0].apiGroups[0] + value: "" + - equal: + path: rules[0].resources[0] + value: pods + - equal: + path: rules[0].verbs[0] + value: get + + - it: "Should generate RoleBinding with correct references" + documentIndex: 3 + asserts: + - isKind: + of: RoleBinding + - equal: + path: metadata.name + value: test-rolebinding + - equal: + path: roleRef.kind + value: Role + - equal: + path: roleRef.name + value: test-role + - equal: + path: subjects[0].kind + value: ServiceAccount + - equal: + path: subjects[0].name + value: test-sa + + - it: "Should generate Secret with correct data" + documentIndex: 4 + asserts: + - isKind: + of: Secret + - equal: + path: metadata.name + value: test-secret + - equal: + path: stringData.username + value: test-user + - equal: + path: stringData.password + value: test-pass + + - it: "Should generate Service with correct spec" + documentIndex: 5 + asserts: + - isKind: + of: Service + - equal: + path: metadata.name + value: test-service + - equal: + path: spec.ports[0].port + value: 8080 + - equal: + path: spec.ports[0].name + value: http + - equal: + path: spec.type + value: ClusterIP + + - it: "Should generate ServiceAccount with correct configuration" + documentIndex: 6 + asserts: + - isKind: + of: ServiceAccount + - equal: + path: metadata.name + value: test-sa + - equal: + path: automountServiceAccountToken + value: true + + - it: "Should generate ServiceMonitor with correct endpoints" + documentIndex: 7 + asserts: + - isKind: + of: ServiceMonitor + - equal: + path: metadata.name + value: test-servicemonitor + - equal: + path: spec.endpoints[0].port + value: metrics + - equal: + path: spec.endpoints[0].interval + value: 15s + + - it: "Should generate Deployment workload with correct configuration" + documentIndex: 8 + asserts: + - isKind: + of: Deployment + - equal: + path: metadata.name + value: test-workload + - equal: + path: spec.replicas + value: 1 + - equal: + path: spec.template.spec.containers[0].image + value: nginx:latest + + - it: "Should not generate disabled resources" + set: + testComponent: + configMap: + __enabled: false + asserts: + - hasDocuments: + count: 8 # One less than total due to disabled ConfigMap diff --git a/charts/common/_unittests/resource-tests/all-resource-kinds/values.yaml b/charts/common/_unittests/resource-tests/all-resource-kinds/values.yaml new file mode 100644 index 00000000..dc4a4fe7 --- /dev/null +++ b/charts/common/_unittests/resource-tests/all-resource-kinds/values.yaml @@ -0,0 +1,99 @@ +defaults: {} + +testComponent: + __enabled: true + configMap: + __enabled: true + metadata: + name: test-configmap + data: + key1: "value1" + key2: "value2" + + podDisruptionBudget: + __enabled: true + metadata: + name: test-pdb + spec: + minAvailable: 1 + + role: + __enabled: true + metadata: + name: test-role + rules: + - apiGroups: [""] + resources: ["pods"] + verbs: ["get", "list"] + + roleBinding: + __enabled: true + metadata: + name: test-rolebinding + roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: test-role + subjects: + - kind: ServiceAccount + name: test-sa + + secret: + __enabled: true + metadata: + name: test-secret + stringData: + username: "test-user" + password: "test-pass" + + services: + default: + __enabled: true + metadata: + name: test-service + spec: + type: ClusterIP + ports: + - port: 8080 + targetPort: 8080 + name: http + protocol: TCP + + serviceAccount: + __enabled: true + metadata: + name: test-sa + automountServiceAccountToken: true + + serviceMonitor: + __enabled: true + metadata: + name: test-servicemonitor + spec: + endpoints: + - port: metrics + interval: 15s + + workload: + __enabled: true + metadata: + name: test-workload + kind: Deployment + spec: + replicas: 1 + selector: + matchLabels: + app: test-workload + template: + metadata: + labels: + app: test-workload + spec: + containers: + main: + name: main + image: nginx:latest + ports: + http: + containerPort: 8080 + protocol: TCP diff --git a/charts/common/_unittests/templating-tests/Chart.lock b/charts/common/_unittests/templating-tests/Chart.lock new file mode 100644 index 00000000..5b272021 --- /dev/null +++ b/charts/common/_unittests/templating-tests/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../ + version: 0.0.1-canary.1 +digest: sha256:12b970b6e48c7736357e45d4e677347c77128460f05768c0405fb5665459e88e +generated: "2025-02-19T01:33:00.592383306Z" diff --git a/charts/common/_unittests/templating-tests/Chart.yaml b/charts/common/_unittests/templating-tests/Chart.yaml new file mode 100644 index 00000000..25c18b79 --- /dev/null +++ b/charts/common/_unittests/templating-tests/Chart.yaml @@ -0,0 +1,8 @@ +apiVersion: v2 +name: templating-test +version: 0.1.0 + +dependencies: + - name: common + repository: "file://../../" + version: ">=0.0.0-0" diff --git a/charts/common/_unittests/templating-tests/_common.config.yaml b/charts/common/_unittests/templating-tests/_common.config.yaml new file mode 100644 index 00000000..0c52ce75 --- /dev/null +++ b/charts/common/_unittests/templating-tests/_common.config.yaml @@ -0,0 +1,7 @@ +dynamicComponents: false + +components: + - testComponent + +componentLayering: + testComponent: [] diff --git a/charts/common/_unittests/templating-tests/templates/render.yaml b/charts/common/_unittests/templating-tests/templates/render.yaml new file mode 100644 index 00000000..8646103a --- /dev/null +++ b/charts/common/_unittests/templating-tests/templates/render.yaml @@ -0,0 +1 @@ +{{- include "common.render" $ }} diff --git a/charts/common/_unittests/templating-tests/tests/templating_test.yaml b/charts/common/_unittests/templating-tests/tests/templating_test.yaml new file mode 100644 index 00000000..b93af514 --- /dev/null +++ b/charts/common/_unittests/templating-tests/tests/templating_test.yaml @@ -0,0 +1,23 @@ +suite: "Templating Tests" + +templates: + - "templates/render.yaml" + +tests: + - it: "Should expand greeting with correct .Root and .componentName" + documentIndex: 0 + asserts: + - isKind: + of: ConfigMap + - matchRegex: + path: data.greeting + pattern: "Hello from RELEASE-NAME for testComponent" + + - it: "Should set workload replicas=3 based on @needs logic" + documentIndex: 1 + asserts: + - isKind: + of: Deployment + - equal: + path: spec.replicas + value: 3 diff --git a/charts/common/_unittests/templating-tests/values.yaml b/charts/common/_unittests/templating-tests/values.yaml new file mode 100644 index 00000000..ff1a3e3f --- /dev/null +++ b/charts/common/_unittests/templating-tests/values.yaml @@ -0,0 +1,32 @@ +testComponent: + __enabled: true + + configMap: + __enabled: true + data: + greeting: "Hello from {{ .Root.Release.Name }} for {{ .componentName }}" + + workload: + __enabled: true + kind: Deployment + spec: + selector: + matchLabels: + app: test-workload + template: + metadata: + labels: + app: test-workload + spec: + containers: + main: + name: main + image: nginx:latest + replicas: | + @needs(.Self.configMap.data.greeting as myGreeting) + @type(int) + {{ if eq $myGreeting "Hello from release-name for testComponent" -}} + 3 + {{ else -}} + 0 + {{ end -}}