Skip to content

Commit f6704fd

Browse files
authored
Merge pull request kubernetes#89670 from seans3/apply-integration-tests
Fixes kubectl apply tests to run; updates broken tests
2 parents 238d2c8 + 4ca2d5a commit f6704fd

File tree

2 files changed

+25
-37
lines changed

2 files changed

+25
-37
lines changed

test/cmd/apply.sh

Lines changed: 24 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -147,40 +147,22 @@ __EOF__
147147
kubectl "${kube_flags[@]:?}" delete customresourcedefinition resources.mygroup.example.com
148148

149149
## kubectl apply --prune
150-
# Pre-Condition: no POD exists
150+
# Pre-Condition: namespace nsb exists; no POD exists
151+
kubectl create ns nsb
151152
kube::test::get_object_assert pods "{{range.items}}{{${id_field:?}}}:{{end}}" ''
152-
153-
# apply a
154-
kubectl apply --prune -l prune-group=true -f hack/testdata/prune/a.yaml "${kube_flags[@]:?}"
155-
# check right pod exists
156-
kube::test::get_object_assert 'pods a' "{{${id_field:?}}}" 'a'
157-
# check wrong pod doesn't exist
158-
output_message=$(! kubectl get pods b 2>&1 "${kube_flags[@]:?}")
159-
kube::test::if_has_string "${output_message}" 'pods "b" not found'
160-
161-
# apply b
162-
kubectl apply --prune -l prune-group=true -f hack/testdata/prune/b.yaml "${kube_flags[@]:?}"
163-
# check right pod exists
164-
kube::test::get_object_assert 'pods b' "{{${id_field:?}}}" 'b'
165-
# check wrong pod doesn't exist
166-
output_message=$(! kubectl get pods a 2>&1 "${kube_flags[@]:?}")
167-
kube::test::if_has_string "${output_message}" 'pods "a" not found'
168-
169-
kubectl delete pods a
170-
kubectl delete pods b
171-
172-
# apply a
153+
# apply a into namespace nsb
173154
kubectl apply --namespace nsb -l prune-group=true -f hack/testdata/prune/a.yaml "${kube_flags[@]:?}"
155+
kube::test::get_object_assert 'pods a -n nsb' "{{${id_field:?}}}" 'a'
174156
# apply b with namespace
175157
kubectl apply --namespace nsb --prune -l prune-group=true -f hack/testdata/prune/b.yaml "${kube_flags[@]:?}"
176158
# check right pod exists
177-
kube::test::get_object_assert 'pods b' "{{${id_field:?}}}" 'b'
159+
kube::test::get_object_assert 'pods b -n nsb' "{{${id_field:?}}}" 'b'
178160
# check wrong pod doesn't exist
179-
output_message=$(! kubectl get pods a 2>&1 "${kube_flags[@]:?}")
161+
output_message=$(! kubectl get pods a -n nsb 2>&1 "${kube_flags[@]:?}")
180162
kube::test::if_has_string "${output_message}" 'pods "a" not found'
181163

182164
# cleanup
183-
kubectl delete pods b
165+
kubectl delete pods b -n nsb
184166

185167
# same thing without prune for a sanity check
186168
# Pre-Condition: no POD exists
@@ -191,18 +173,18 @@ __EOF__
191173
# check right pod exists
192174
kube::test::get_object_assert 'pods a' "{{${id_field:?}}}" 'a'
193175
# check wrong pod doesn't exist
194-
output_message=$(! kubectl get pods b 2>&1 "${kube_flags[@]:?}")
176+
output_message=$(! kubectl get pods b -n nsb 2>&1 "${kube_flags[@]:?}")
195177
kube::test::if_has_string "${output_message}" 'pods "b" not found'
196178

197179
# apply b
198180
kubectl apply -l prune-group=true -f hack/testdata/prune/b.yaml "${kube_flags[@]:?}"
199181
# check both pods exist
200182
kube::test::get_object_assert 'pods a' "{{${id_field:?}}}" 'a'
201-
kube::test::get_object_assert 'pods b' "{{${id_field:?}}}" 'b'
202-
# check wrong pod doesn't exist
183+
kube::test::get_object_assert 'pods b -n nsb' "{{${id_field:?}}}" 'b'
203184

204185
# cleanup
205-
kubectl delete pod/a pod/b
186+
kubectl delete pod/a
187+
kubectl delete pod/b -n nsb
206188

207189
## kubectl apply --prune requires a --all flag to select everything
208190
output_message=$(! kubectl apply --prune -f hack/testdata/prune 2>&1 "${kube_flags[@]:?}")
@@ -211,8 +193,10 @@ __EOF__
211193
# should apply everything
212194
kubectl apply --all --prune -f hack/testdata/prune
213195
kube::test::get_object_assert 'pods a' "{{${id_field:?}}}" 'a'
214-
kube::test::get_object_assert 'pods b' "{{${id_field:?}}}" 'b'
215-
kubectl delete pod/a pod/b
196+
kube::test::get_object_assert 'pods b -n nsb' "{{${id_field:?}}}" 'b'
197+
kubectl delete pod/a
198+
kubectl delete pod/b -n nsb
199+
kubectl delete ns nsb
216200

217201
## kubectl apply --prune should fallback to delete for non reapable types
218202
kubectl apply --all --prune -f hack/testdata/prune-reap/a.yml 2>&1 "${kube_flags[@]:?}"
@@ -275,24 +259,27 @@ __EOF__
275259
kubectl delete --kustomize hack/testdata/kustomize
276260

277261
## kubectl apply multiple resources with initial failure.
278-
# Pre-Condition: no POD exists
262+
# Pre-Condition: namepace does not exist and no POD exists
263+
output_message=$(! kubectl get namespace multi-resource-ns 2>&1 "${kube_flags[@]:?}")
264+
kube::test::if_has_string "${output_message}" 'namespaces "multi-resource-ns" not found'
279265
kube::test::get_object_assert pods "{{range.items}}{{${id_field:?}}}:{{end}}" ''
280266
# First pass, namespace is created, but pod is not (since namespace does not exist yet).
281-
kubectl apply -f hack/testdata/multi-resource.yaml "${kube_flags[@]:?}"
282-
output_message=$(! kubectl get pods test-pod 2>&1 "${kube_flags[@]:?}")
267+
output_message=$(! kubectl apply -f hack/testdata/multi-resource.yaml 2>&1 "${kube_flags[@]:?}")
268+
kube::test::if_has_string "${output_message}" 'namespaces "multi-resource-ns" not found'
269+
output_message=$(! kubectl get pods test-pod -n multi-resource-ns 2>&1 "${kube_flags[@]:?}")
283270
kube::test::if_has_string "${output_message}" 'pods "test-pod" not found'
284271
# Second pass, pod is created (now that namespace exists).
285272
kubectl apply -f hack/testdata/multi-resource.yaml "${kube_flags[@]:?}"
286-
kube::test::get_object_assert 'pod test-pod' "{{${id_field}}}" 'test-pod'
273+
kube::test::get_object_assert 'pods test-pod -n multi-resource-ns' "{{${id_field}}}" 'test-pod'
287274
# cleanup
288-
kubectl delete -f hack/testdata/multi-resource.yaml
275+
kubectl delete -f hack/testdata/multi-resource.yaml "${kube_flags[@]:?}"
289276

290277
set +o nounset
291278
set +o errexit
292279
}
293280

294281
# Runs tests related to kubectl apply (server-side)
295-
run_kubectl_apply_tests() {
282+
run_kubectl_server_side_apply_tests() {
296283
set -o nounset
297284
set -o errexit
298285

test/cmd/legacy-script.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ runTests() {
506506

507507
if kube::test::if_supports_resource "${pods}" ; then
508508
record_command run_kubectl_apply_tests
509+
record_command run_kubectl_server_side_apply_tests
509510
record_command run_kubectl_run_tests
510511
record_command run_kubectl_create_filter_tests
511512
fi

0 commit comments

Comments
 (0)