k8s.io/kubernetes@v1.31.0-alpha.0.0.20240520171757-56147500dadc/test/cmd/certificate.sh (about) 1 #!/usr/bin/env bash 2 3 # Copyright 2018 The Kubernetes Authors. 4 # 5 # Licensed under the Apache License, Version 2.0 (the "License"); 6 # you may not use this file except in compliance with the License. 7 # You may obtain a copy of the License at 8 # 9 # http://www.apache.org/licenses/LICENSE-2.0 10 # 11 # Unless required by applicable law or agreed to in writing, software 12 # distributed under the License is distributed on an "AS IS" BASIS, 13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 # See the License for the specific language governing permissions and 15 # limitations under the License. 16 17 set -o errexit 18 set -o nounset 19 set -o pipefail 20 21 run_certificates_tests() { 22 set -o nounset 23 set -o errexit 24 25 kube::log::status "Testing certificates" 26 27 # approve 28 kubectl create -f hack/testdata/csr.yml "${kube_flags[@]:?}" 29 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' '' 30 kubectl certificate approve foo "${kube_flags[@]}" 31 kubectl get csr "${kube_flags[@]}" -o json 32 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' 'Approved' 33 # Describe command should respect the chunk size parameter 34 kube::test::describe_resource_chunk_size_assert certificatesigningrequests events 35 kubectl delete -f hack/testdata/csr.yml "${kube_flags[@]}" 36 kube::test::get_object_assert csr "{{range.items}}{{${id_field:?}}}{{end}}" '' 37 38 kubectl create -f hack/testdata/csr.yml "${kube_flags[@]}" 39 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' '' 40 kubectl certificate approve -f hack/testdata/csr.yml "${kube_flags[@]}" 41 kubectl get csr "${kube_flags[@]}" -o json 42 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' 'Approved' 43 kubectl delete -f hack/testdata/csr.yml "${kube_flags[@]}" 44 kube::test::get_object_assert csr "{{range.items}}{{$id_field}}{{end}}" '' 45 46 # deny 47 kubectl create -f hack/testdata/csr.yml "${kube_flags[@]}" 48 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' '' 49 kubectl certificate deny foo "${kube_flags[@]}" 50 kubectl get csr "${kube_flags[@]}" -o json 51 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' 'Denied' 52 kubectl delete -f hack/testdata/csr.yml "${kube_flags[@]}" 53 kube::test::get_object_assert csr "{{range.items}}{{$id_field}}{{end}}" '' 54 55 kubectl create -f hack/testdata/csr.yml "${kube_flags[@]}" 56 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' '' 57 kubectl certificate deny -f hack/testdata/csr.yml "${kube_flags[@]}" 58 kubectl get csr "${kube_flags[@]}" -o json 59 kube::test::get_object_assert 'csr/foo' '{{range.status.conditions}}{{.type}}{{end}}' 'Denied' 60 kubectl delete -f hack/testdata/csr.yml "${kube_flags[@]}" 61 kube::test::get_object_assert csr "{{range.items}}{{$id_field}}{{end}}" '' 62 63 set +o nounset 64 set +o errexit 65 }