webhook_networkpolicy_test.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. suite: test webhook networkpolicy
  2. templates:
  3. - webhook-networkpolicy.yaml
  4. tests:
  5. - it: should create a networkPolicy
  6. set:
  7. webhook.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. webhook.networkPolicy.enabled: false
  17. asserts:
  18. - hasDocuments:
  19. count: 0
  20. - it: should set correct pod selector
  21. set:
  22. webhook.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-webhook
  29. - it: should apply default ingress ports
  30. set:
  31. webhook.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. - protocol: TCP
  41. port: 10250
  42. - it: should allow custom ingress CIDR blocks
  43. set:
  44. webhook.networkPolicy.enabled: true
  45. webhook.networkPolicy.ingress:
  46. - from:
  47. - ipBlock:
  48. cidr: 192.168.0.0/16
  49. ports:
  50. - protocol: TCP
  51. port: 10250
  52. asserts:
  53. - equal:
  54. path: spec.ingress[0].from[0].ipBlock.cidr
  55. value: 192.168.0.0/16
  56. - it: should allow custom ingress pod selector
  57. set:
  58. webhook.networkPolicy.enabled: true
  59. webhook.networkPolicy.ingress:
  60. - from:
  61. - podSelector:
  62. matchLabels:
  63. app: api-server
  64. ports:
  65. - protocol: TCP
  66. port: 10250
  67. asserts:
  68. - equal:
  69. path: spec.ingress[0].from[0].podSelector.matchLabels.app
  70. value: api-server
  71. - it: should allow custom egress CIDR blocks
  72. set:
  73. webhook.networkPolicy.enabled: true
  74. webhook.networkPolicy.egress:
  75. - to:
  76. - ipBlock:
  77. cidr: 0.0.0.0/0
  78. ports:
  79. - protocol: TCP
  80. port: 443
  81. asserts:
  82. - equal:
  83. path: spec.egress[0].to[0].ipBlock.cidr
  84. value: 0.0.0.0/0
  85. - it: should allow custom egress pod selector
  86. set:
  87. webhook.networkPolicy.enabled: true
  88. webhook.networkPolicy.egress:
  89. - to:
  90. - podSelector:
  91. matchLabels:
  92. k8s-app: kube-dns
  93. ports:
  94. - protocol: UDP
  95. port: 53
  96. asserts:
  97. - equal:
  98. path: spec.egress[0].to[0].podSelector.matchLabels["k8s-app"]
  99. value: kube-dns