suite: cronjob metadata test templates: - common.yaml chart: appVersion: &appVer v9.9.9 tests: - it: should pass with cronjob created with labels and annotations set: label1: label1 label2: global_label2 annotation1: annotation1 annotation2: global_annotation2 global: labels: g_label1: global_label1 g_label2: "{{ .Values.label2 }}" annotations: g_annotation1: global_annotation1 g_annotation2: "{{ .Values.annotation2 }}" workload: workload-name: enabled: true primary: true type: CronJob schedule: "*/1 * * * *" labels: label1: "{{ .Values.label1 }}" label2: label2 annotations: annotation1: "{{ .Values.annotation1 }}" annotation2: annotation2 podSpec: restartPolicy: Never labels: pod-label1: pod-label1 pod-label2: "{{ .Values.label2 }}" annotations: pod-annotation1: pod-annotation1 pod-annotation2: "{{ .Values.annotation2 }}" asserts: - documentIndex: &cronJobDoc 0 isKind: of: CronJob - documentIndex: *cronJobDoc equal: path: metadata.annotations value: annotation1: annotation1 annotation2: annotation2 g_annotation1: global_annotation1 g_annotation2: global_annotation2 - documentIndex: *cronJobDoc equal: path: metadata.labels value: app: common-test-1.0.0 release: RELEASE-NAME helm-revision: "0" helm.sh/chart: common-test-1.0.0 app.kubernetes.io/managed-by: Helm app.kubernetes.io/version: *appVer g_label1: global_label1 g_label2: global_label2 label1: label1 label2: label2 - documentIndex: *cronJobDoc equal: path: spec.jobTemplate.spec.template.metadata.labels value: pod.name: workload-name app: common-test-1.0.0 release: RELEASE-NAME app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: common-test app.kubernetes.io/version: v9.9.9 helm-revision: "0" helm.sh/chart: common-test-1.0.0 g_label1: global_label1 g_label2: global_label2 pod-label1: pod-label1 pod-label2: global_label2 - documentIndex: *cronJobDoc matchRegex: path: spec.jobTemplate.spec.template.metadata.annotations.rollme pattern: '^[0-9a-zA-Z]{5}$'