kubernetes/test/cmd
Julian V. Modesto bacc2c4960 Set field manager for kubectl diff --server-side.
Bonus: check diff only dry-runs without persisting.

Co-authored-by: Takahiro HATORI <tahatori@zlab.co.jp>
2020-03-04 20:20:07 -05:00
..
apply.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
apps.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
authorization.sh Make test/cmd/a*.sh pass shellcheck 2019-04-26 11:39:11 +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 Merge pull request #88133 from julianvmodesto/dry-run-tests 2020-02-27 11:33:42 -08:00
crd.sh wait for pruned CR to be invisible from API 2020-02-19 17:41:13 -08:00
create.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
delete.sh Add --dry-run to more kubectl commands. 2020-02-19 17:53:21 -05:00
diff.sh Set field manager for kubectl diff --server-side. 2020-03-04 20:20:07 -05:00
discovery.sh Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
exec.sh Wire --filename flag to exec 2020-03-03 12:16:52 +01:00
generic-resources.sh Fix shellcheck failures SC2251 2019-10-23 22:47:47 +02:00
get.sh Fix assert methods 2019-11-07 02:26:45 -05:00
kubeadm.sh drop KUBE_TIMEOUT in test/cmd/kubeadm.sh 2019-11-28 10:49:41 +01:00
kubeconfig.sh Cleanup: Audit log and error capitalization 2019-07-08 20:20:12 +09:00
legacy-script.sh stop defaulting kubeconfig to http://localhost:8080 2020-03-02 18:32:16 +01:00
node-management.sh Add --dry-run to more kubectl commands. 2020-02-19 17:53:21 -05: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 Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
README.md Feedback from review 2019-02-21 06:15:13 -05:00
request-timeout.sh Fix shellcheck faulures in test/cmd 2019-06-17 14:04:34 +08: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 Clean up --dry-run values. 2020-02-15 00:43:30 -05: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 resouces 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.