suite: Pre-Deploy Config Test Hooks templates: - auth/predeploy_job.yaml - auth/predeploy_config.yaml - auth/predeploy_serviceaccount.yaml - proxy/predeploy_job.yaml - proxy/predeploy_config.yaml - proxy/predeploy_serviceaccount.yaml tests: - it: Deploys the auth-test config template: auth/predeploy_config.yaml set: clusterName: helm-lint asserts: - containsDocument: kind: ConfigMap apiVersion: v1 name: RELEASE-NAME-auth-test namespace: NAMESPACE - it: Deploys the proxy-test config template: proxy/predeploy_config.yaml set: clusterName: helm-lint asserts: - containsDocument: kind: ConfigMap apiVersion: v1 name: RELEASE-NAME-proxy-test namespace: NAMESPACE - it: Deploys the auth-test job template: auth/predeploy_job.yaml set: clusterName: helm-lint asserts: - containsDocument: kind: Job apiVersion: batch/v1 name: RELEASE-NAME-auth-test namespace: NAMESPACE - it: Is executed as a pre-install and pre-upgrade hook set: clusterName: helm-lint asserts: - equal: path: metadata.annotations.helm\.sh/hook value: pre-install,pre-upgrade - it: Does not render hooks when config validation is disabled set: clusterName: helm-lint validateConfigOnDeploy: false asserts: - hasDocuments: count: 0 - it: should set resources on auth predeploy job when set in values template: auth/predeploy_job.yaml values: - ../.lint/resources.yaml asserts: - equal: path: spec.template.spec.containers[0].resources.limits.cpu value: 2 - equal: path: spec.template.spec.containers[0].resources.limits.memory value: 4Gi - equal: path: spec.template.spec.containers[0].resources.requests.cpu value: 1 - equal: path: spec.template.spec.containers[0].resources.requests.memory value: 2Gi - it: should set resources on proxy predeploy job when set in values template: proxy/predeploy_job.yaml values: - ../.lint/resources.yaml asserts: - equal: path: spec.template.spec.containers[0].resources.limits.cpu value: 2 - equal: path: spec.template.spec.containers[0].resources.limits.memory value: 4Gi - equal: path: spec.template.spec.containers[0].resources.requests.cpu value: 1 - equal: path: spec.template.spec.containers[0].resources.requests.memory value: 2Gi - it: should set imagePullSecrets on proxy predeploy job when set in values template: proxy/predeploy_job.yaml values: - ../.lint/imagepullsecrets.yaml asserts: - equal: path: spec.template.spec.imagePullSecrets[0].name value: myRegistryKeySecretName - matchSnapshot: path: spec.template.spec.imagePullSecrets - it: should set imagePullSecrets on auth predeploy job when set in values template: auth/predeploy_job.yaml values: - ../.lint/imagepullsecrets.yaml asserts: - equal: path: spec.template.spec.imagePullSecrets[0].name value: myRegistryKeySecretName - matchSnapshot: path: spec.template.spec.imagePullSecrets - it: should set extraLabels on auth predeploy job when set in values template: auth/predeploy_job.yaml set: clusterName: helm-lint extraLabels: job: foo: bar baz: override-me auth: extraLabels: job: baz: overridden asserts: - equal: path: metadata.labels.foo value: bar - equal: path: metadata.labels.baz value: overridden - it: should set extraLabels.jobPod on auth predeploy job when set in values template: auth/predeploy_job.yaml set: clusterName: helm-lint extraLabels: jobPod: foo: bar baz: override-me auth: extraLabels: jobPod: baz: overridden asserts: - equal: path: spec.template.metadata.labels.foo value: bar - equal: path: spec.template.metadata.labels.baz value: overridden - it: should set extraLabels on auth predeploy config when set in values template: auth/predeploy_config.yaml set: clusterName: helm-lint extraLabels: config: foo: bar baz: override-me auth: extraLabels: config: baz: overridden asserts: - equal: path: metadata.labels.foo value: bar - equal: path: metadata.labels.baz value: overridden - it: should set extraLabels on proxy predeploy job when set in values template: proxy/predeploy_job.yaml set: clusterName: helm-lint extraLabels: job: foo: bar baz: override-me proxy: extraLabels: job: baz: overridden asserts: - equal: path: metadata.labels.foo value: bar - equal: path: metadata.labels.baz value: overridden - it: should set extraLabels.jobPod on proxy predeploy job when set in values template: proxy/predeploy_job.yaml set: clusterName: helm-lint extraLabels: jobPod: foo: bar baz: override-me proxy: extraLabels: jobPod: baz: overridden asserts: - equal: path: spec.template.metadata.labels.foo value: bar - equal: path: spec.template.metadata.labels.baz value: overridden - it: should set extraLabels on proxy predeploy config when set in values template: proxy/predeploy_config.yaml set: clusterName: helm-lint extraLabels: config: foo: bar baz: override-me proxy: extraLabels: config: baz: overridden asserts: - equal: path: metadata.labels.foo value: bar - equal: path: metadata.labels.baz value: overridden - it: should use default serviceAccount name suffixed with -hook for auth predeploy job SA when not set in values and we're creating SAs template: auth/predeploy_job.yaml set: clusterName: helm-lint asserts: - equal: path: spec.template.spec.serviceAccountName value: RELEASE-NAME-hook - it: should use serviceAccount.name suffixed with -hook for auth predeploy job SA when set in values and we're creating SAs template: auth/predeploy_job.yaml set: clusterName: helm-lint serviceAccount: name: helm-test-sa asserts: - equal: path: spec.template.spec.serviceAccountName value: helm-test-sa-hook - it: should use serviceAccount.name for auth predeploy job SA when set in values and we're not creating SAs template: auth/predeploy_job.yaml set: clusterName: helm-lint serviceAccount: name: helm-test-sa create: false asserts: - equal: path: spec.template.spec.serviceAccountName value: helm-test-sa - it: should use default serviceAccount name suffixed with -hook for proxy predeploy job SA when not set in values and we're creating SAs template: proxy/predeploy_job.yaml set: clusterName: helm-lint asserts: - equal: path: spec.template.spec.serviceAccountName value: RELEASE-NAME-proxy-hook - it: should use serviceAccount.name suffixed with -hook for proxy predeploy job SA when set in values and we're creating SAs template: proxy/predeploy_job.yaml set: clusterName: helm-lint serviceAccount: name: helm-test-sa asserts: - equal: path: spec.template.spec.serviceAccountName value: helm-test-sa-proxy-hook - it: should use serviceAccount.name for proxy predeploy job SA when set in values and we're not creating SAs template: proxy/predeploy_job.yaml set: clusterName: helm-lint serviceAccount: name: helm-test-sa create: false asserts: - equal: path: spec.template.spec.serviceAccountName value: helm-test-sa-proxy