suite: externalInterface metadata test templates: - common.yaml release: name: release-name tests: - it: should generate correct annotations without selector set: # Simulate middleware injection ixExternalInterfacesConfiguration: - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens3s0", "ipam": {"type": "dhcp"}}' - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens4s0", "ipam": {"type": "dhcp"}}' ixExternalInterfacesConfigurationNames: - ix-release-name-0 - ix-release-name-1 scaleExternalInterface: - hostInterface: enp0s3 ipam: type: dhcp - hostInterface: enp0s4 ipam: type: dhcp image: &image repository: nginx tag: 1.21.4 pullPolicy: IfNotPresent workload: workload-name1: enabled: true primary: true type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: &probes liveness: enabled: false readiness: enabled: false startup: enabled: false workload-name2: enabled: true primary: false type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: *probes asserts: - documentIndex: &deploymentDoc 2 isKind: of: Deployment - documentIndex: *deploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *deploymentDoc equal: path: metadata.name value: release-name-common-test - documentIndex: *deploymentDoc isSubset: path: spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0, ix-release-name-1 - documentIndex: &otherDeploymentDoc 3 isKind: of: Deployment - documentIndex: *otherDeploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *otherDeploymentDoc equal: path: metadata.name value: release-name-common-test-workload-name2 - documentIndex: *otherDeploymentDoc isNotSubset: path: spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0, ix-release-name-1 - it: should generate correct annotations with targetSelectAll set: # Simulate middleware injection ixExternalInterfacesConfiguration: - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens3s0", "ipam": {"type": "dhcp"}}' - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens4s0", "ipam": {"type": "dhcp"}}' ixExternalInterfacesConfigurationNames: - ix-release-name-0 - ix-release-name-1 scaleExternalInterface: - hostInterface: enp0s3 ipam: type: dhcp targetSelectAll: true - hostInterface: enp0s4 ipam: type: dhcp targetSelectAll: true image: *image workload: workload-name1: enabled: true primary: true type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: *probes workload-name2: enabled: true primary: false type: Job podSpec: restartPolicy: Never containers: container-name1: enabled: true primary: true imageSelector: image probes: *probes asserts: - documentIndex: *deploymentDoc isKind: of: Deployment - documentIndex: *deploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *deploymentDoc equal: path: metadata.name value: release-name-common-test - documentIndex: *deploymentDoc isSubset: path: spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0, ix-release-name-1 - documentIndex: &jobDoc 3 isKind: of: Job - documentIndex: *jobDoc isAPIVersion: of: batch/v1 - documentIndex: *jobDoc equal: path: metadata.name value: release-name-common-test-workload-name2 - documentIndex: *jobDoc isSubset: path: spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0, ix-release-name-1 - it: should generate correct annotations with targetSelector set: # Simulate middleware injection ixExternalInterfacesConfiguration: - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens3s0", "ipam": {"type": "dhcp"}}' - '{"cniVersion": "0.3.1", "name": "ix-release-name-0", "type": "macvlan", "master": "ens4s0", "ipam": {"type": "dhcp"}}' ixExternalInterfacesConfigurationNames: - ix-release-name-0 - ix-release-name-1 scaleExternalInterface: - hostInterface: enp0s3 ipam: type: dhcp targetSelector: - workload-name1 - workload-name2 - hostInterface: enp0s4 ipam: type: dhcp targetSelector: - workload-name1 image: *image workload: workload-name1: enabled: true primary: true type: Deployment podSpec: containers: container-name1: enabled: true primary: true imageSelector: image probes: *probes workload-name2: enabled: true primary: false type: CronJob schedule: "*/1 * * * *" podSpec: restartPolicy: Never containers: container-name1: enabled: true primary: true imageSelector: image probes: *probes asserts: - documentIndex: *deploymentDoc isKind: of: Deployment - documentIndex: *deploymentDoc isAPIVersion: of: apps/v1 - documentIndex: *deploymentDoc equal: path: metadata.name value: release-name-common-test - documentIndex: *deploymentDoc isSubset: path: spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0, ix-release-name-1 - documentIndex: &cronJobDoc 3 isKind: of: CronJob - documentIndex: *cronJobDoc isAPIVersion: of: batch/v1 - documentIndex: *cronJobDoc equal: path: metadata.name value: release-name-common-test-workload-name2 - documentIndex: *cronJobDoc isSubset: path: spec.jobTemplate.spec.template.metadata.annotations content: k8s.v1.cni.cncf.io/networks: ix-release-name-0