--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: pod topologySpreadConstraints templates: - common.yaml tests: - it: default should pass asserts: - documentIndex: 0 isKind: of: Deployment - 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 asserts: - documentIndex: 0 isKind: of: Deployment - documentIndex: 0 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 asserts: - documentIndex: 0 isKind: of: Deployment - documentIndex: 0 equal: path: spec.template.spec.topologySpreadConstraints value: - maxSkew: 2 topologyKey: kubernetes.io/hostname whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app: foo