mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 01:40:13 +00:00
Merge pull request #115571 from ardaguclu/diff-prune-l-test
Add integration test for diff --prune --selector
This commit is contained in:
commit
1bc34fe339
@ -113,6 +113,89 @@ run_kubectl_diff_tests() {
|
||||
# Cleanup
|
||||
kubectl delete -f hack/testdata/pod.yaml
|
||||
kubectl delete -f hack/testdata/prune/b.yaml
|
||||
kubectl delete namespace nsb
|
||||
|
||||
## kubectl diff --prune with label selector
|
||||
kubectl create ns nsbprune
|
||||
kubectl apply --namespace nsbprune -f - <<EOF
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: a
|
||||
namespace: nsbprune
|
||||
labels:
|
||||
prune-group: "true"
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: registry.k8s.io/pause:3.9
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: b
|
||||
namespace: nsbprune
|
||||
labels:
|
||||
prune-group: "true"
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: registry.k8s.io/pause:3.9
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: c
|
||||
namespace: nsbprune
|
||||
labels:
|
||||
prune-group: "false"
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: registry.k8s.io/pause:3.9
|
||||
EOF
|
||||
kube::test::get_object_assert 'pods a -n nsbprune' "{{${id_field:?}}}" 'a'
|
||||
kube::test::get_object_assert 'pods b -n nsbprune' "{{${id_field:?}}}" 'b'
|
||||
kube::test::get_object_assert 'pods c -n nsbprune' "{{${id_field:?}}}" 'c'
|
||||
# Make sure that kubectl diff does not return either pod 'b' or pod 'c' without prune flag
|
||||
PRUNE=$(cat <<EOF
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: a
|
||||
namespace: nsbprune
|
||||
labels:
|
||||
prune-group: "true"
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: registry.k8s.io/pause:3.9
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: c
|
||||
namespace: nsbprune
|
||||
labels:
|
||||
prune-group: "false"
|
||||
spec:
|
||||
containers:
|
||||
- name: kubernetes-pause
|
||||
image: registry.k8s.io/pause:3.9
|
||||
EOF
|
||||
)
|
||||
output_message=$(echo "${PRUNE}" | kubectl diff -l prune-group=true -f -)
|
||||
kube::test::if_has_not_string "${output_message}" "name: b"
|
||||
kube::test::if_has_not_string "${output_message}" "name: c"
|
||||
# the exit code for diff is 1 because pod 'b' is found in the given label selector but not 'c'
|
||||
output_message=$(echo "${PRUNE}" | kubectl diff --prune -l prune-group=true -f - || test $? -eq 1)
|
||||
# pod 'b' should be in output, it is pruned. On the other hand, 'c' should not be, it's label selector is different
|
||||
kube::test::if_has_string "${output_message}" 'name: b'
|
||||
kube::test::if_has_not_string "${output_message}" "name: c"
|
||||
|
||||
# Cleanup
|
||||
kubectl delete namespace nsbprune
|
||||
|
||||
|
||||
set +o nounset
|
||||
set +o errexit
|
||||
|
Loading…
Reference in New Issue
Block a user