Files

114 lines
2.9 KiB
YAML

suite: pod hostPath volume test
templates:
- common.yaml
release:
name: test-release-name
namespace: test-release-namespace
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 [hostPath] on [hostPath] 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 [hostPath] to start with a forward slash [/] on [hostPath] 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 [hostPathType] to be one of [DirectoryOrCreate, Directory, FileOrCreate, File, Socket, CharDevice, BlockDevice], but got [invalid]