cert_controller_networkpolicy_test.yaml 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. suite: test cert controller networkpolicy
  2. templates:
  3. - cert-controller-networkpolicy.yaml
  4. tests:
  5. - it: should create a networkPolicy
  6. set:
  7. certController.networkPolicy.enabled: true
  8. asserts:
  9. - equal:
  10. path: spec.policyTypes
  11. value:
  12. - Egress
  13. - Ingress
  14. - it: should not create a networkPolicy
  15. set:
  16. certController.networkPolicy.enabled: false
  17. asserts:
  18. - hasDocuments:
  19. count: 0
  20. - it: should set correct pod selector
  21. set:
  22. certController.networkPolicy.enabled: true
  23. asserts:
  24. - isNotEmpty:
  25. path: spec.podSelector.matchLabels
  26. - equal:
  27. path: spec.podSelector.matchLabels["app.kubernetes.io/name"]
  28. value: external-secrets-cert-controller
  29. - it: should apply default ingress ports
  30. set:
  31. certController.networkPolicy.enabled: true
  32. asserts:
  33. - equal:
  34. path: spec.ingress[0].ports
  35. value:
  36. - protocol: TCP
  37. port: 8080
  38. - protocol: TCP
  39. port: 8081
  40. - it: should allow custom ingress CIDR blocks
  41. set:
  42. certController.networkPolicy.enabled: true
  43. certController.networkPolicy.ingress:
  44. - from:
  45. - ipBlock:
  46. cidr: 172.16.0.0/12
  47. ports:
  48. - protocol: TCP
  49. port: 8080
  50. asserts:
  51. - equal:
  52. path: spec.ingress[0].from[0].ipBlock.cidr
  53. value: 172.16.0.0/12
  54. - it: should allow custom ingress pod selector
  55. set:
  56. certController.networkPolicy.enabled: true
  57. certController.networkPolicy.ingress:
  58. - from:
  59. - podSelector:
  60. matchLabels:
  61. monitoring: prometheus
  62. ports:
  63. - protocol: TCP
  64. port: 8080
  65. asserts:
  66. - equal:
  67. path: spec.ingress[0].from[0].podSelector.matchLabels.monitoring
  68. value: prometheus
  69. - it: should allow custom egress CIDR blocks
  70. set:
  71. certController.networkPolicy.enabled: true
  72. certController.networkPolicy.egress:
  73. - to:
  74. - ipBlock:
  75. cidr: 0.0.0.0/0
  76. ports:
  77. - protocol: TCP
  78. port: 443
  79. asserts:
  80. - equal:
  81. path: spec.egress[0].to[0].ipBlock.cidr
  82. value: 0.0.0.0/0
  83. - it: should allow custom egress pod selector
  84. set:
  85. certController.networkPolicy.enabled: true
  86. certController.networkPolicy.egress:
  87. - to:
  88. - podSelector:
  89. matchLabels:
  90. k8s-app: kube-dns
  91. ports:
  92. - protocol: UDP
  93. port: 53
  94. asserts:
  95. - equal:
  96. path: spec.egress[0].to[0].podSelector.matchLabels["k8s-app"]
  97. value: kube-dns