From dd45076f8e86575438326a753f99e277f006df6a Mon Sep 17 00:00:00 2001 From: juanvallejo Date: Tue, 10 Oct 2017 14:01:44 -0400 Subject: [PATCH] add tests --- hack/make-rules/test-cmd-util.sh | 34 ++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/hack/make-rules/test-cmd-util.sh b/hack/make-rules/test-cmd-util.sh index 4a094995e11..b1498450fbf 100755 --- a/hack/make-rules/test-cmd-util.sh +++ b/hack/make-rules/test-cmd-util.sh @@ -915,6 +915,32 @@ __EOF__ set +o errexit } +# runs specific kubectl create tests +run_create_tests() { + set -o nounset + set -o errexit + + ### Create generic secret with explicit namespace + # Pre-condition: secret 'mysecret' does not exist + output_message=$(! kubectl get secrets mysecret 2>&1 "${kube_flags[@]}") + kube::test::if_has_string "${output_message}" 'secrets "mysecret" not found' + # Command + output_message=$(kubectl create "${kube_flags[@]}" secret generic mysecret --dry-run --from-literal=foo=bar -o jsonpath='{.metadata.namespace}' --namespace=user-specified) + # Post-condition: mysecret still not created since --dry-run was used + # Output from 'create' command should contain the specified --namespace value + failure_message=$(! kubectl get secrets mysecret 2>&1 "${kube_flags[@]}") + kube::test::if_has_string "${failure_message}" 'secrets "mysecret" not found' + kube::test::if_has_string "${output_message}" 'user-specified' + # Command + output_message=$(kubectl create "${kube_flags[@]}" secret generic mysecret --dry-run --from-literal=foo=bar -o jsonpath='{.metadata.namespace}') + # Post-condition: jsonpath for .metadata.namespace should be empty for object since --namespace was not explicitly specified + kube::test::if_empty_string "${output_message}" + + set +o nounset + set +o errexit +} + + # Runs tests related to kubectl apply. run_kubectl_apply_tests() { set -o nounset @@ -4560,6 +4586,14 @@ runTests() { record_command run_kubectl_get_tests fi + + ###################### + # Create # + ###################### + if kube::test::if_supports_resource "${secrets}" ; then + record_command run_create_tests + fi + ################## # Global timeout # ##################