suite: pod hostPath volume test templates: - common.yaml tests: - it: should pass with hostPath volume set: workload: workload-name1: enabled: true primary: true type: Deployment podSpec: {} persistence: host-vol: enabled: true type: hostPath hostPath: /some-path asserts: - documentIndex: &deploymentDoc 0 isKind: of: Deployment - documentIndex: *deploymentDoc contains: path: spec.template.spec.volumes content: name: host-vol hostPath: path: /some-path - it: should pass with hostPath volume and type set: some_path: /some-path some_type: DirectoryOrCreate workload: workload-name1: enabled: true primary: true type: Deployment podSpec: {} persistence: host-vol: enabled: true type: hostPath hostPath: "{{ .Values.some_path }}" hostPathType: "{{ .Values.some_type }}" asserts: - documentIndex: *deploymentDoc isKind: of: Deployment - documentIndex: *deploymentDoc contains: path: spec.template.spec.volumes content: name: host-vol hostPath: path: /some-path type: DirectoryOrCreate # Failures - it: should fail without hostPath set: workload: some-workload: enabled: true primary: true type: Deployment podSpec: {} persistence: volume1: enabled: true type: hostPath hostPath: "" asserts: - failedTemplate: errorMessage: Persistence - Expected non-empty on type - it: should fail with relative hostPath set: workload: some-workload: enabled: true primary: true type: Deployment podSpec: {} persistence: volume1: enabled: true type: hostPath hostPath: some-path asserts: - failedTemplate: errorMessage: Persistence - Expected to start with a forward slash [/] on type - it: should fail with invalid hostPathType set: workload: some-workload: enabled: true primary: true type: Deployment podSpec: {} persistence: volume1: enabled: true type: hostPath hostPath: /some-path hostPathType: invalid asserts: - failedTemplate: errorMessage: Persistence - Expected to be one of [DirectoryOrCreate, Directory, FileOrCreate, File, Socket, CharDevice, BlockDevice], but got [invalid]