add unittests

This commit is contained in:
TheRealNoob 2024-06-12 12:26:28 -05:00
parent 5eb91b4223
commit eebdfbb168
No known key found for this signature in database
4 changed files with 118 additions and 2 deletions

View file

@ -95,3 +95,42 @@ tests:
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
maxSkew: 1 maxSkew: 1
whenUnsatisfiable: ScheduleAnyway whenUnsatisfiable: ScheduleAnyway
- it: should create a DaemonSet with affinity if `controller.affinity` is set
set:
controller.kind: DaemonSet
controller.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- '{{ include "ingress-nginx.name" . }}'
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: "kubernetes.io/hostname"
asserts:
- equal:
path: spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
value:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- ingress-nginx
- key: app.kubernetes.io/instance
operator: In
values:
- RELEASE-NAME
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: kubernetes.io/hostname

View file

@ -118,3 +118,41 @@ tests:
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
maxSkew: 1 maxSkew: 1
whenUnsatisfiable: ScheduleAnyway whenUnsatisfiable: ScheduleAnyway
- it: should create a Deployment with affinity if `controller.affinity` is set
set:
controller.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- '{{ include "ingress-nginx.name" . }}'
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: "kubernetes.io/hostname"
asserts:
- equal:
path: spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
value:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- ingress-nginx
- key: app.kubernetes.io/instance
operator: In
values:
- RELEASE-NAME
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: kubernetes.io/hostname

View file

@ -92,3 +92,42 @@ tests:
topologyKey: kubernetes.io/hostname topologyKey: kubernetes.io/hostname
maxSkew: 1 maxSkew: 1
whenUnsatisfiable: ScheduleAnyway whenUnsatisfiable: ScheduleAnyway
- it: should create a Deployment with affinity if `defaultBackend.affinity` is set
set:
defaultBackend.enabled: true
defaultBackend.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- '{{ include "ingress-nginx.name" . }}'
- key: app.kubernetes.io/instance
operator: In
values:
- "{{ .Release.Name }}"
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: "kubernetes.io/hostname"
asserts:
- equal:
path: spec.template.spec.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
value:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- ingress-nginx
- key: app.kubernetes.io/instance
operator: In
values:
- RELEASE-NAME
- key: app.kubernetes.io/component
operator: In
values:
- controller
topologyKey: kubernetes.io/hostname

View file

@ -264,7 +264,7 @@ controller:
# - key: app.kubernetes.io/instance # - key: app.kubernetes.io/instance
# operator: In # operator: In
# values: # values:
# - '{{ .Release.Name }}' # - "{{ .Release.Name }}"
# - key: app.kubernetes.io/component # - key: app.kubernetes.io/component
# operator: In # operator: In
# values: # values:
@ -283,7 +283,7 @@ controller:
# - key: app.kubernetes.io/instance # - key: app.kubernetes.io/instance
# operator: In # operator: In
# values: # values:
# - '{{ .Release.Name }}' # - "{{ .Release.Name }}"
# - key: app.kubernetes.io/component # - key: app.kubernetes.io/component
# operator: In # operator: In
# values: # values: