mirror of
https://github.com/bjw-s-labs/helm-charts.git
synced 2025-07-04 17:07:04 +02:00
100 lines
3 KiB
YAML
100 lines
3 KiB
YAML
---
|
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
|
suite: pod - fields - topologySpreadConstraints
|
|
templates:
|
|
- common.yaml
|
|
values:
|
|
- ../_values/controllers_main_default_container.yaml
|
|
tests:
|
|
- it: default should pass
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- documentIndex: 0
|
|
notExists:
|
|
path: spec.template.spec.topologySpreadConstraints
|
|
|
|
- it: defaultPodOption should pass
|
|
set:
|
|
defaultPodOptions:
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: foo
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.topologySpreadConstraints
|
|
value:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: foo
|
|
|
|
- it: defaultPodOption with pod override should pass
|
|
set:
|
|
defaultPodOptions:
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: foo
|
|
controllers:
|
|
main:
|
|
pod:
|
|
topologySpreadConstraints:
|
|
- maxSkew: 2
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: foo
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.topologySpreadConstraints
|
|
value:
|
|
- maxSkew: 2
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: foo
|
|
|
|
- it: topologySpreadConstraints with template should pass
|
|
set:
|
|
controllers:
|
|
main:
|
|
pod:
|
|
topologySpreadConstraints:
|
|
- maxSkew: 2
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: "{{ .Release.Name }}"
|
|
documentSelector:
|
|
path: $[?(@.kind == "Deployment")].metadata.name
|
|
value: release-name
|
|
asserts:
|
|
- equal:
|
|
path: spec.template.spec.topologySpreadConstraints
|
|
value:
|
|
- maxSkew: 2
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app: RELEASE-NAME
|