metadata_test.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. suite: job metadata test
  2. templates:
  3. - common.yaml
  4. chart:
  5. appVersion: &appVer v9.9.9
  6. tests:
  7. - it: should pass with job created with labels and annotations
  8. set:
  9. label1: label1
  10. label2: global_label2
  11. annotation1: annotation1
  12. annotation2: global_annotation2
  13. global:
  14. labels:
  15. g_label1: global_label1
  16. g_label2: "{{ .Values.label2 }}"
  17. annotations:
  18. g_annotation1: global_annotation1
  19. g_annotation2: "{{ .Values.annotation2 }}"
  20. workload:
  21. workload-name:
  22. enabled: true
  23. primary: true
  24. type: Job
  25. labels:
  26. label1: "{{ .Values.label1 }}"
  27. label2: label2
  28. annotations:
  29. annotation1: "{{ .Values.annotation1 }}"
  30. annotation2: annotation2
  31. podSpec:
  32. restartPolicy: Never
  33. labels:
  34. pod-label1: pod-label1
  35. pod-label2: "{{ .Values.label2 }}"
  36. annotations:
  37. pod-annotation1: pod-annotation1
  38. pod-annotation2: "{{ .Values.annotation2 }}"
  39. asserts:
  40. - documentIndex: &jobDoc 0
  41. isKind:
  42. of: Job
  43. - documentIndex: *jobDoc
  44. equal:
  45. path: metadata.annotations
  46. value:
  47. annotation1: annotation1
  48. annotation2: annotation2
  49. g_annotation1: global_annotation1
  50. g_annotation2: global_annotation2
  51. - documentIndex: *jobDoc
  52. equal:
  53. path: metadata.labels
  54. value:
  55. app: common-test-1.0.0
  56. release: RELEASE-NAME
  57. helm-revision: "0"
  58. helm.sh/chart: common-test-1.0.0
  59. app.kubernetes.io/name: common-test
  60. app.kubernetes.io/instance: RELEASE-NAME
  61. app.kubernetes.io/managed-by: Helm
  62. app.kubernetes.io/version: *appVer
  63. g_label1: global_label1
  64. g_label2: global_label2
  65. label1: label1
  66. label2: label2
  67. - documentIndex: *jobDoc
  68. equal:
  69. path: spec.template.metadata.labels
  70. value:
  71. pod.name: workload-name
  72. app: common-test-1.0.0
  73. release: RELEASE-NAME
  74. app.kubernetes.io/instance: RELEASE-NAME
  75. app.kubernetes.io/managed-by: Helm
  76. app.kubernetes.io/name: common-test
  77. app.kubernetes.io/version: v9.9.9
  78. helm-revision: "0"
  79. helm.sh/chart: common-test-1.0.0
  80. g_label1: global_label1
  81. g_label2: global_label2
  82. pod-label1: pod-label1
  83. pod-label2: global_label2
  84. - documentIndex: *jobDoc
  85. matchRegex:
  86. path: spec.template.metadata.annotations.rollme
  87. pattern: '^[0-9a-zA-Z]{5}$'