--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: cronjob - metadata - labels templates: - common.yaml values: - ../_values/controllers_main_default_container.yaml set: controllers.main: type: cronjob cronjob: schedule: "*/20 * * * *" tests: - it: default labels documentSelector: path: $[?(@.kind == "CronJob")].metadata.name value: release-name asserts: - equal: path: metadata.labels value: app.kubernetes.io/controller: main app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME helm.sh/chart: common-test-1.0.0 - it: custom labels set: controllers.main.labels: test_label: test documentSelector: path: $[?(@.kind == "CronJob")].metadata.name value: release-name asserts: - equal: path: metadata.labels value: app.kubernetes.io/controller: main app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME helm.sh/chart: common-test-1.0.0 test_label: test - it: custom labels mixed with global labels set: global.labels: global_label: test controllers.main.labels: test_label: test documentSelector: path: $[?(@.kind == "CronJob")].metadata.name value: release-name asserts: - equal: path: metadata.labels value: app.kubernetes.io/controller: main app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: RELEASE-NAME global_label: test helm.sh/chart: common-test-1.0.0 test_label: test