248 lines
7.4 KiB
YAML
248 lines
7.4 KiB
YAML
suite: pv metadata test
|
|
templates:
|
|
- common.yaml
|
|
chart:
|
|
appVersion: &appVer v9.9.9
|
|
release:
|
|
name: test-release-name
|
|
namespace: test-release-namespace
|
|
tests:
|
|
- it: should pass with pv created with labels and annotations (nfs-pv-pvc)
|
|
set:
|
|
label1: label1
|
|
label2: global_label2
|
|
annotation1: annotation1
|
|
annotation2: global_annotation2
|
|
global:
|
|
labels:
|
|
g_label1: global_label1
|
|
g_label2: "{{ .Values.label2 }}"
|
|
annotations:
|
|
g_annotation1: global_annotation1
|
|
g_annotation2: "{{ .Values.annotation2 }}"
|
|
persistence:
|
|
my-volume1:
|
|
enabled: true
|
|
type: pvc
|
|
static:
|
|
mode: nfs
|
|
share: /someshare
|
|
server: someserver
|
|
labels:
|
|
label1: "{{ .Values.label1 }}"
|
|
label2: label2
|
|
annotations:
|
|
annotation1: "{{ .Values.annotation1 }}"
|
|
annotation2: annotation2
|
|
annotationsList:
|
|
- name: some-annotation
|
|
value: some-value
|
|
labelsList:
|
|
- name: some-label
|
|
value: some-value
|
|
asserts:
|
|
- documentIndex: &pvDoc 0
|
|
isKind:
|
|
of: PersistentVolume
|
|
- documentIndex: *pvDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.annotations
|
|
value:
|
|
annotation1: annotation1
|
|
annotation2: annotation2
|
|
g_annotation1: global_annotation1
|
|
g_annotation2: global_annotation2
|
|
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
|
|
some-annotation: some-value
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.labels
|
|
value:
|
|
app: common-test-1.0.0
|
|
release: test-release-name
|
|
helm-revision: "0"
|
|
helm.sh/chart: common-test-1.0.0
|
|
app.kubernetes.io/instance: test-release-name
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/version: *appVer
|
|
app.kubernetes.io/name: common-test
|
|
g_label1: global_label1
|
|
g_label2: global_label2
|
|
label1: label1
|
|
label2: label2
|
|
some-label: some-value
|
|
|
|
- it: should pass with pvc created with retain set to true (nfs-pv-pvc)
|
|
set:
|
|
persistence:
|
|
my-volume1:
|
|
enabled: true
|
|
type: pvc
|
|
static:
|
|
mode: nfs
|
|
share: /someshare
|
|
server: someserver
|
|
retain: true
|
|
asserts:
|
|
- documentIndex: *pvDoc
|
|
isKind:
|
|
of: PersistentVolume
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.annotations
|
|
value:
|
|
"helm.sh/resource-policy": keep
|
|
pv.kubernetes.io/provisioned-by: nfs.csi.k8s.io
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.labels
|
|
value:
|
|
app: common-test-1.0.0
|
|
release: test-release-name
|
|
helm-revision: "0"
|
|
helm.sh/chart: common-test-1.0.0
|
|
app.kubernetes.io/instance: test-release-name
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/version: *appVer
|
|
app.kubernetes.io/name: common-test
|
|
|
|
- it: should pass with pv created with labels and annotations (smb-pv-pvc)
|
|
set:
|
|
label1: label1
|
|
label2: global_label2
|
|
annotation1: annotation1
|
|
annotation2: global_annotation2
|
|
global:
|
|
labels:
|
|
g_label1: global_label1
|
|
g_label2: "{{ .Values.label2 }}"
|
|
annotations:
|
|
g_annotation1: global_annotation1
|
|
g_annotation2: "{{ .Values.annotation2 }}"
|
|
persistence:
|
|
my-volume1:
|
|
enabled: true
|
|
type: pvc
|
|
static:
|
|
mode: smb
|
|
share: someshare
|
|
server: someserver
|
|
username: someuser
|
|
password: someuserpoassword
|
|
labels:
|
|
label1: "{{ .Values.label1 }}"
|
|
label2: label2
|
|
annotations:
|
|
annotation1: "{{ .Values.annotation1 }}"
|
|
annotation2: annotation2
|
|
asserts:
|
|
- documentIndex: &secretDoc 0
|
|
isKind:
|
|
of: Secret
|
|
- documentIndex: *secretDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *secretDoc
|
|
equal:
|
|
path: metadata.annotations
|
|
value:
|
|
annotation1: annotation1
|
|
annotation2: annotation2
|
|
g_annotation1: global_annotation1
|
|
g_annotation2: global_annotation2
|
|
- documentIndex: *secretDoc
|
|
equal:
|
|
path: metadata.labels
|
|
value:
|
|
app: common-test-1.0.0
|
|
release: test-release-name
|
|
helm-revision: "0"
|
|
helm.sh/chart: common-test-1.0.0
|
|
app.kubernetes.io/instance: test-release-name
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/version: *appVer
|
|
app.kubernetes.io/name: common-test
|
|
g_label1: global_label1
|
|
g_label2: global_label2
|
|
label1: label1
|
|
label2: label2
|
|
- documentIndex: &pvDoc 1
|
|
isKind:
|
|
of: PersistentVolume
|
|
- documentIndex: *pvDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.annotations
|
|
value:
|
|
annotation1: annotation1
|
|
annotation2: annotation2
|
|
g_annotation1: global_annotation1
|
|
g_annotation2: global_annotation2
|
|
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.labels
|
|
value:
|
|
app: common-test-1.0.0
|
|
release: test-release-name
|
|
helm-revision: "0"
|
|
helm.sh/chart: common-test-1.0.0
|
|
app.kubernetes.io/instance: test-release-name
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/version: *appVer
|
|
app.kubernetes.io/name: common-test
|
|
g_label1: global_label1
|
|
g_label2: global_label2
|
|
label1: label1
|
|
label2: label2
|
|
|
|
- it: should pass with pvc created with retain set to true (smb-pv-pvc)
|
|
set:
|
|
persistence:
|
|
my-volume1:
|
|
enabled: true
|
|
type: pvc
|
|
static:
|
|
mode: smb
|
|
share: someshare
|
|
server: someserver
|
|
username: someuser
|
|
password: someuserpoassword
|
|
retain: true
|
|
asserts:
|
|
- documentIndex: *secretDoc
|
|
isKind:
|
|
of: Secret
|
|
- documentIndex: *secretDoc
|
|
isAPIVersion:
|
|
of: v1
|
|
- documentIndex: *secretDoc
|
|
isNull:
|
|
path: metadata.annotations
|
|
- documentIndex: *pvDoc
|
|
isKind:
|
|
of: PersistentVolume
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.annotations
|
|
value:
|
|
"helm.sh/resource-policy": keep
|
|
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
|
|
- documentIndex: *pvDoc
|
|
equal:
|
|
path: metadata.labels
|
|
value:
|
|
app: common-test-1.0.0
|
|
release: test-release-name
|
|
helm-revision: "0"
|
|
helm.sh/chart: common-test-1.0.0
|
|
app.kubernetes.io/instance: test-release-name
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/version: *appVer
|
|
app.kubernetes.io/name: common-test
|