--- # yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json suite: NetworkPolicy values templates: - common.yaml tests: - it: main networkpolicy is disabled by default asserts: - hasDocuments: count: 1 - documentIndex: 0 not: true isKind: of: NetworkPolicy - it: main networkpolicy can be enabled set: networkpolicies.main: controller: main policyTypes: - Ingress - Egress rules: {} asserts: - hasDocuments: count: 2 - documentIndex: 0 isKind: of: Deployment - documentIndex: 1 isKind: of: NetworkPolicy - it: networkpolicy targets the correct controller set: networkpolicies: main: controller: main policyTypes: - Ingress - Egress rules: {} asserts: - documentIndex: &NetworkPolicyDocument 1 isKind: of: NetworkPolicy - documentIndex: *NetworkPolicyDocument equal: path: spec.podSelector value: matchLabels: common.bjw-s.dev/controller: main app.kubernetes.io/instance: RELEASE-NAME app.kubernetes.io/name: RELEASE-NAME - it: networkpolicy targets supports custom podSelector set: networkpolicies: main: controller: main policyTypes: - Ingress - Egress podSelector: {} rules: {} asserts: - documentIndex: &NetworkPolicyDocument 1 isKind: of: NetworkPolicy - documentIndex: *NetworkPolicyDocument equal: path: spec.podSelector value: {} - it: networkpolicy rules are passed through set: networkpolicies: main: controller: main policyTypes: - Ingress - Egress rules: ingress: - {} egress: - {} asserts: - documentIndex: &NetworkPolicyDocument 1 isKind: of: NetworkPolicy - documentIndex: *NetworkPolicyDocument equal: path: spec.ingress value: - {} - documentIndex: *NetworkPolicyDocument equal: path: spec.egress value: - {}