--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: "pod - metadata - labels" templates: - common.yaml values: - ../_values/controllers_main_default_container.yaml tests: - it: default pod labels documentSelector: path: $[?(@.kind == "Deployment")].metadata.name value: release-name asserts: - equal: path: spec.template.metadata.labels value: app.kubernetes.io/controller: main app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/name: RELEASE-NAME - it: pod labels from defaultPodOptions should be included set: defaultPodOptions.labels: defaultPodOptionsLabel: test documentSelector: path: $[?(@.kind == "Deployment")].metadata.name value: release-name asserts: - isSubset: path: spec.template.metadata.labels content: defaultPodOptionsLabel: test - it: pod labels from pod options should be included set: controllers.main.pod: labels: podOptionsLabel: test documentSelector: path: $[?(@.kind == "Deployment")].metadata.name value: release-name asserts: - isSubset: path: spec.template.metadata.labels content: podOptionsLabel: test - it: pod labels from global labels should not be included by default set: global.labels: globalLabel: test documentSelector: path: $[?(@.kind == "Deployment")].metadata.name value: release-name asserts: - isNotSubset: path: spec.template.metadata.labels content: globalLabel: test - it: pod labels from global labels should be included when requested set: global: propagateGlobalMetadataToPods: true labels: globalLabel: test documentSelector: path: $[?(@.kind == "Deployment")].metadata.name value: release-name asserts: - isSubset: path: spec.template.metadata.labels content: globalLabel: test