299 lines
8.3 KiB
YAML
299 lines
8.3 KiB
YAML
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
|