From 6339d915a766f79d1659dbee524f236a1d14c154 Mon Sep 17 00:00:00 2001 From: Mike Danese Date: Thu, 29 Sep 2016 19:10:03 -0700 Subject: [PATCH] add a test to test-cmd.sh for apply -f with label selector --- hack/make-rules/test-cmd.sh | 15 +++++++++++++++ hack/testdata/filter/pod-apply-selector.yaml | 11 +++++++++++ hack/testdata/filter/pod-dont-apply.yaml | 11 +++++++++++ 3 files changed, 37 insertions(+) create mode 100644 hack/testdata/filter/pod-apply-selector.yaml create mode 100644 hack/testdata/filter/pod-dont-apply.yaml diff --git a/hack/make-rules/test-cmd.sh b/hack/make-rules/test-cmd.sh index 3260627441a..12608d47772 100755 --- a/hack/make-rules/test-cmd.sh +++ b/hack/make-rules/test-cmd.sh @@ -988,6 +988,21 @@ __EOF__ # Clean up kubectl delete pods test-pod "${kube_flags[@]}" + + ## kubectl apply -f with label selector should only apply matching objects + # Pre-Condition: no POD exists + kube::test::get_object_assert pods "{{range.items}}{{$id_field}}:{{end}}" '' + # apply + kubectl apply -l unique-label=bingbang -f hack/testdata/filter "${kube_flags[@]}" + # check right pod exists + kube::test::get_object_assert 'pods selector-test-pod' "{{${labels_field}.name}}" 'selector-test-pod' + # check wrong pod doesn't exist + output_message=$(! kubectl get pods selector-test-pod-dont-apply 2>&1 "${kube_flags[@]}") + kube::test::if_has_string "${output_message}" 'pods "selector-test-pod-dont-apply" not found' + # cleanup + kubectl delete pods selector-test-pod + + ## kubectl run should create deployments or jobs # Pre-Condition: no Job exists kube::test::get_object_assert jobs "{{range.items}}{{$id_field}}:{{end}}" '' diff --git a/hack/testdata/filter/pod-apply-selector.yaml b/hack/testdata/filter/pod-apply-selector.yaml new file mode 100644 index 00000000000..73b83d6ba37 --- /dev/null +++ b/hack/testdata/filter/pod-apply-selector.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Pod +metadata: + name: selector-test-pod + labels: + name: selector-test-pod + unique-label: bingbang +spec: + containers: + - name: kubernetes-pause + image: gcr.io/google-containers/pause:2.0 diff --git a/hack/testdata/filter/pod-dont-apply.yaml b/hack/testdata/filter/pod-dont-apply.yaml new file mode 100644 index 00000000000..7ea1610de90 --- /dev/null +++ b/hack/testdata/filter/pod-dont-apply.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Pod +metadata: + name: selector-test-pod-dont-apply + labels: + name: selector-test-pod-dont-apply + unique-label: biz +spec: + containers: + - name: kubernetes-pause + image: gcr.io/google-containers/pause:2.0