{{- if .Values.test.enabled -}}
apiVersion: v1
kind: Pod
metadata:
  name: "{{ template "openldap.fullname" . }}-test-{{ randAlphaNum 5 | lower }}"
  labels:
    app: {{ template "openldap.name" . }}
    chart: {{ template "openldap.chart" . }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
{{- if .Values.extraLabels }}
{{ toYaml .Values.extraLabels | indent 4 }}
{{- end }}
  annotations:
    "helm.sh/hook": test-success
spec:
  initContainers:
    - name: test-framework
      image: {{ .Values.test.image.repository }}:{{ .Values.test.image.tag }}
      command:
        - "bash"
        - "-c"
        - |
          set -ex
          # copy bats to tools dir
          cp -R /usr/local/libexec/ /tools/bats/
      volumeMounts:
        - mountPath: /tools
          name: tools
  containers:
    - name: {{ .Release.Name }}-test
      image: {{ .Values.test.image.repository }}:{{ .Values.test.image.tag }}
      envFrom:
        - secretRef:
            name: {{ template "openldap.secretName" . }}
      command: ["/tools/bats/bats", "-t", "/tests/run.sh"]
      volumeMounts:
        - mountPath: /tests
          name: tests
          readOnly: true
        - mountPath: /tools
          name: tools
  volumes:
    - name: tests
      configMap:
        name: {{ template "openldap.fullname" . }}-tests
    - name: tools
      emptyDir: {}
  restartPolicy: Never
{{- end -}}