suite: init container data test templates: - common.yaml tests: - it: should generate correct init container set: initType: install render: true persistence: shared-vol: enabled: true type: emptyDir mountPath: /some/path targetSelector: workload-name: container-name2: {} image: repository: nginx tag: 1.19.0 pullPolicy: IfNotPresent initImage: repository: bash tag: latest pullPolicy: IfNotPresent workload: workload-name: enabled: true primary: true type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: liveness: enabled: false readiness: enabled: false startup: enabled: false initContainers: container-name1: enabled: "{{ .Values.render }}" type: init imageSelector: initImage env: key: value key2: "{{ .Values.initImage.repository }}" key3: secretKeyRef: expandObjectName: false name: '{{ printf "secret-name" }}' key: secret-key container-name3: enabled: true type: upgrade imageSelector: initImage container-name2: enabled: true type: "{{ .Values.initType }}" imageSelector: initImage probes: liveness: enabled: true readiness: enabled: true startup: enabled: true command: - /bin/sh - -c - | echo "Using image {{ .Values.initImage.repository }}" asserts: - documentIndex: &deploymentDoc 0 isKind: of: Deployment - documentIndex: *deploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *deploymentDoc isSubset: path: spec.template.spec.initContainers[0] content: name: release-name-common-test-install-container-name2 image: bash:latest command: - /bin/sh - -c - | echo "Using image bash" volumeMounts: - name: shared-vol mountPath: /some/path readOnly: false - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[0].livenessProbe - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[0].readinessProbe - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[0].startupProbe - documentIndex: *deploymentDoc isSubset: path: spec.template.spec.initContainers[1] content: name: release-name-common-test-init-container-name1 - documentIndex: *deploymentDoc isSubset: path: spec.template.spec.initContainers[1] content: env: - name: "TZ" value: "UTC" - name: "UMASK" value: "002" - name: "UMASK_SET" value: "002" - name: NVIDIA_VISIBLE_DEVICES value: "void" - name: "S6_READ_ONLY_ROOT" value: "1" - name: "key" value: "value" - name: "key2" value: "bash" - name: "key3" valueFrom: secretKeyRef: key: "secret-key" name: "secret-name" - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[1].command - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[1].volumeMounts - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers[2] - it: should NOT generate render init container set: render: false image: repository: nginx tag: 1.19.0 pullPolicy: IfNotPresent workload: workload-name: enabled: true primary: true type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: liveness: enabled: false readiness: enabled: false startup: enabled: false initContainers: container-name1: enabled: "{{ .Values.render }}" type: init imageSelector: image asserts: - documentIndex: &deploymentDoc 0 isKind: of: Deployment - documentIndex: *deploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *deploymentDoc isNull: path: spec.template.spec.initContainers