kubernetes/test/cmd
Masashi Honma e8c038c96d Fix tests using kubectl convert
hack/make-rules/test-cmd.sh script fails with tariling errors.

Error: unknown command "convert" for "kubectl"

1. This PR fixes the errors by replacing or removing the use of
"kubectl convert" option because it was already removed.

2. Fix trailing shell check failure as well.
In ./test/cmd/generic-resources.sh line 366:
  kube::test::get_object_assert deployment "{{range.items}}{{$image_field0}}:{{end}}" "${IMAGE_NGINX}:${IMAGE_NGINX}:"
2021-02-18 08:24:07 +09:00
..
apply.sh feat(kubectl): add flag --show-managed-fields to kubectl-get 2021-02-16 22:52:03 +08:00
apps.sh feat(kubectl): add flag --show-managed-fields to kubectl-get 2021-02-16 22:52:03 +08:00
authentication.sh Move kube_flags_without_token creation 2020-07-06 21:55:23 +02:00
authorization.sh fix: pass bearer token to curl using -H instead of --oauth2-bearer 2020-11-05 01:15:19 +08:00
batch.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
BUILD Removes test-cmd inappropriate dependency on kubectl 2019-06-27 10:49:42 -07:00
certificate.sh Fix shellchecks in test/cmd/{b,c}.*.sh 2019-06-04 14:42:01 +08:00
core.sh feat(kubectl): add flag --show-managed-fields to kubectl-get 2021-02-16 22:52:03 +08:00
crd.sh Support kubectl delete foreground 2020-08-28 11:52:40 +08:00
create.sh Fix tests using kubectl convert 2021-02-18 08:24:07 +09:00
debug.sh Remove alpha from kubectl debug 2020-11-04 17:45:28 +01:00
delete.sh separate RootCAConfigMap from BoundServiceAccountTokenVolume 2020-11-04 17:10:39 -08:00
diff.sh update pause image 3.4.1 for hack testdatas only 2021-02-01 15:09:25 +08:00
discovery.sh fix: pass bearer token to curl using -H instead of --oauth2-bearer 2020-11-05 01:15:19 +08:00
exec.sh Wire --filename flag to exec 2020-03-03 12:16:52 +01:00
generic-resources.sh Fix tests using kubectl convert 2021-02-18 08:24:07 +09:00
get.sh separate RootCAConfigMap from BoundServiceAccountTokenVolume 2020-11-04 17:10:39 -08:00
kubeconfig.sh Changed kubectl config set-cluster and set-credentials to support process substitution for filenames 2020-05-15 09:22:59 -04:00
legacy-script.sh refactor: migrate health checks of control-plane off insecure port in tests 2020-10-31 11:39:25 +08:00
node-management.sh feat(kubectl): add flag --show-managed-fields to kubectl-get 2021-02-16 22:52:03 +08:00
OWNERS Updated OWNERS files to include link to docs 2019-02-04 22:33:12 +01:00
plugins.sh Isolate kubectl test-cmd plugin tests 2019-12-19 01:35:36 -05:00
proxy.sh Fix of review comments. Will squash later. 2019-07-18 09:12:28 +08:00
rbac.sh cmd: silence warnings in kube-controller-manager/kube-apiserver, dedupe/color warnings in kubectl 2020-06-11 16:04:19 -04:00
README.md Fix typo test/cmd/README 2020-06-02 14:50:55 +03:00
request-timeout.sh go1.14: fix test/cmd timeout message check 2020-06-23 19:04:43 -04:00
run.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
save-config.sh Remove kubectl run generators 2020-01-22 16:44:00 +01:00
storage.sh Merge pull request #74635 from xychu/fix-with-assert 2019-06-13 19:12:45 -07:00
template-output.sh Fix tests using kubectl convert 2021-02-18 08:24:07 +09:00
version.sh Merge pull request #74635 from xychu/fix-with-assert 2019-06-13 19:12:45 -07:00
wait.sh Add support for waiting by label selector or on all resources 2019-02-02 16:26:00 +01:00

Kubernetes Command-Line Integration Test Suite

This document describes how you can use the Kubernetes command-line integration test-suite.

Running Tests

All Tests

To run this entire suite, execute make test-cmd from the top level. This will import each file containing tests functions

Specific Tests

To run a subset of tests (e.g. run_deployment_test and run_impersonation_test), execute make test-cmd WHAT="deployment impersonation". Running specific tests will not try and validate any required resources are available on the server.

Adding Tests

Test functions need to have the format run_*_test so they can executed individually. Once a test has been added, insert a section in legacy-script.sh like

######################
# Replica Sets       #
######################

if kube::test::if_supports_resource "${replicasets}" ; then
    record_command run_rs_tests
fi

Be sure to validate any supported resources required for the test by using the kube::test::if_supports_resource function.

New File

If the test resides in a new file, source the file in the top of the legacy-script.sh file by adding a new line in

source "${KUBE_ROOT}/test/cmd/apply.sh"
source "${KUBE_ROOT}/test/cmd/apps.sh"
source "${KUBE_ROOT}/test/cmd/authorization.sh"
source "${KUBE_ROOT}/test/cmd/batch.sh"
...

Please keep the order of the source list alphabetical.