kubernetes/test/cmd
Arda Güçlü 0245e74590 Define NoOptDefVal for validate flag
validate flag does not have default value defined when there is no
parameter passed, therefore it tries to use next irrelevant flag.

This PR defines NoOptDefVal for validate flag which is set "strict".
2022-05-06 14:17:50 +03:00
..
apply.sh Re-introduce removed kubectl --dry-run values. 2021-12-13 15:04:49 -05:00
apps.sh test/cmd: kubectl and exec plugins don't fight for stdin 2021-06-15 09:01:18 -04:00
authentication.sh Check whether static cert is already configured in UpdateTransportConfig 2022-03-07 13:54:32 -08:00
authorization.sh --as-uid flag in kubectl and kubeconfigs. 2021-11-05 13:23:49 -07:00
batch.sh Re-introduce removed kubectl --dry-run values. 2021-12-13 15:04:49 -05:00
certificate.sh Add --chunk-size support to kubectl describe 2021-04-21 11:44:15 -07:00
convert.sh Add kubectl-convert tests 2021-02-22 17:01:34 +01:00
core.sh Switch to pause 3.7 2022-03-29 15:36:38 -04:00
crd.sh Expand cmd tests of modifying schema-declaring custom resources 2022-04-04 13:51:15 -04:00
create.sh Define NoOptDefVal for validate flag 2022-05-06 14:17:50 +03: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 Add prune test into test/cmd/diff.sh 2021-11-08 19:53:47 +03:00
discovery.sh Add manually invalidate cache documentation into delete 2022-01-26 09:01:46 +03: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 Change test/cmd to test deprecations using a CRD 2022-05-04 16:00:57 -04:00
kubeconfig.sh --as-uid flag in kubectl and kubeconfigs. 2021-11-05 13:23:49 -07:00
legacy-script.sh Change test/cmd to test deprecations using a CRD 2022-05-04 16:00:57 -04:00
node-management.sh Add --chunk-size flag to kubectl drain 2021-04-12 08:10:52 -07:00
OWNERS Update sig-cli OWNERS 2022-02-14 10:55:35 -07:00
plugins.sh Isolate kubectl test-cmd plugin tests 2019-12-19 01:35:36 -05:00
proxy.sh use a non-deprecated API to check kube-proxy 2021-03-25 12:41:50 -04:00
rbac.sh Merge pull request #101171 from KnVerey/kubectl-describe-chunk-size 2021-04-22 13:19:23 -07:00
README.md Change legacy-script.sh to produce junit output in location set by the 2022-02-02 21:51:15 -05:00
request-timeout.sh go1.14: fix test/cmd timeout message check 2020-06-23 19:04:43 -04:00
results.sh kubectl: add integration test for result reporting 2022-01-11 09:04:56 +01:00
run.sh Use --dry-run=client,server in kubectl. 2020-02-12 20:46:54 -05:00
save-config.sh rename v2beta2 to v2 2021-11-09 10:34:54 +08:00
storage.sh Add --chunk-size support to kubectl describe 2021-04-21 11:44:15 -07:00
template-output.sh Update cronjob integration test to batch/v1 2021-06-04 21:04:21 +08:00
version.sh kubectl version should include bundled kustomize version 2022-03-24 13:31:57 -04: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_tests and run_impersonation_tests), 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_*_tests so they can be 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.