data_upgrade_test.yaml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. suite: init container data test (upgrade)
  2. templates:
  3. - common.yaml
  4. release:
  5. upgrade: true
  6. tests:
  7. - it: should generate correct init container
  8. set:
  9. initType: upgrade
  10. render: true
  11. persistence:
  12. shared-vol:
  13. enabled: true
  14. type: emptyDir
  15. mountPath: /some/path
  16. targetSelector:
  17. workload-name:
  18. container-name2: {}
  19. image:
  20. repository: nginx
  21. tag: 1.19.0
  22. pullPolicy: IfNotPresent
  23. initImage:
  24. repository: bash
  25. tag: latest
  26. pullPolicy: IfNotPresent
  27. workload:
  28. workload-name:
  29. enabled: true
  30. primary: true
  31. type: Deployment
  32. podSpec:
  33. containers:
  34. container-name1:
  35. enabled: "{{ .Values.render }}"
  36. primary: true
  37. imageSelector: image
  38. probes:
  39. liveness:
  40. enabled: false
  41. readiness:
  42. enabled: false
  43. startup:
  44. enabled: false
  45. initContainers:
  46. container-name1:
  47. enabled: true
  48. type: init
  49. imageSelector: initImage
  50. container-name3:
  51. enabled: true
  52. type: install
  53. imageSelector: initImage
  54. container-name2:
  55. enabled: true
  56. type: "{{ .Values.initType }}"
  57. imageSelector: initImage
  58. probes:
  59. liveness:
  60. enabled: true
  61. readiness:
  62. enabled: true
  63. startup:
  64. enabled: true
  65. command:
  66. - /bin/sh
  67. - -c
  68. - |
  69. echo "Using image {{ .Values.initImage.repository }}"
  70. asserts:
  71. - documentIndex: &deploymentDoc 0
  72. isKind:
  73. of: Deployment
  74. - documentIndex: *deploymentDoc
  75. isAPIVersion:
  76. of: apps/v1
  77. - documentIndex: *deploymentDoc
  78. isSubset:
  79. path: spec.template.spec.initContainers[0]
  80. content:
  81. name: release-name-common-test-upgrade-container-name2
  82. image: bash:latest
  83. command:
  84. - /bin/sh
  85. - -c
  86. - |
  87. echo "Using image bash"
  88. volumeMounts:
  89. - name: shared-vol
  90. mountPath: /some/path
  91. readOnly: false
  92. - documentIndex: *deploymentDoc
  93. isNull:
  94. path: spec.template.spec.initContainers[0].livenessProbe
  95. - documentIndex: *deploymentDoc
  96. isNull:
  97. path: spec.template.spec.initContainers[0].readinessProbe
  98. - documentIndex: *deploymentDoc
  99. isNull:
  100. path: spec.template.spec.initContainers[0].startupProbe
  101. - documentIndex: *deploymentDoc
  102. isSubset:
  103. path: spec.template.spec.initContainers[1]
  104. content:
  105. name: release-name-common-test-init-container-name1
  106. - documentIndex: *deploymentDoc
  107. isNull:
  108. path: spec.template.spec.initContainers[1].command
  109. - documentIndex: *deploymentDoc
  110. isNull:
  111. path: spec.template.spec.initContainers[1].volumeMounts
  112. - documentIndex: *deploymentDoc
  113. isNull:
  114. path: spec.template.spec.initContainers[2]
  115. - it: should NOT generate render init container
  116. set:
  117. render: false
  118. image:
  119. repository: nginx
  120. tag: 1.19.0
  121. pullPolicy: IfNotPresent
  122. workload:
  123. workload-name:
  124. enabled: true
  125. primary: true
  126. type: Deployment
  127. podSpec:
  128. containers:
  129. container-name1:
  130. enabled: true
  131. primary: true
  132. imageSelector: image
  133. probes:
  134. liveness:
  135. enabled: false
  136. readiness:
  137. enabled: false
  138. startup:
  139. enabled: false
  140. initContainers:
  141. container-name1:
  142. enabled: "{{ .Values.render }}"
  143. type: upgrade
  144. imageSelector: image
  145. asserts:
  146. - documentIndex: &deploymentDoc 0
  147. isKind:
  148. of: Deployment
  149. - documentIndex: *deploymentDoc
  150. isAPIVersion:
  151. of: apps/v1
  152. - documentIndex: *deploymentDoc
  153. isNull:
  154. path: spec.template.spec.initContainers