mirror of https://github.com/k3s-io/k3s
![]() If a user edits last-applied-configuration and it doesn't have an apiVersion or kind, the command should error out. Now that we check for kind and version on the unstructured object typer, the previously passing test now correctly fails. Add a new explicit failure test and make the existing test pass. |
||
---|---|---|
.. | ||
testcase-apply-edit-last-applied | ||
testcase-apply-edit-last-applied-list | ||
testcase-apply-edit-last-applied-list-fail | ||
testcase-apply-edit-last-applied-syntax-error | ||
testcase-create-list | ||
testcase-create-list-error | ||
testcase-edit-error-reedit | ||
testcase-edit-from-empty | ||
testcase-edit-output-patch | ||
testcase-immutable-name | ||
testcase-list | ||
testcase-list-errors | ||
testcase-list-record | ||
testcase-missing-service | ||
testcase-no-op | ||
testcase-not-update-annotation | ||
testcase-repeat-error | ||
testcase-schemaless-list | ||
testcase-single-service | ||
testcase-syntax-error | ||
testcase-unknown-field-known-group-kind | ||
testcase-unknown-version-known-group-kind | ||
testcase-update-annotation | ||
BUILD | ||
README | ||
record.go | ||
record_editor.sh | ||
record_testcase.sh | ||
test_editor.sh |
README
This folder contains test cases for interactive edit, and helpers for recording new test cases To record a new test: 1. Start a local cluster running unsecured on http://localhost:8080 (e.g. hack/local-up-cluster.sh) 2. Set up any pre-existing resources you want to be available on that server (namespaces, resources to edit, etc) 3. Run ./pkg/kubectl/cmd/testdata/edit/record_testcase.sh my-testcase 4. Run the desired `kubectl edit ...` command, and interact with the editor as desired until it completes. * You can do things that cause errors to appear in the editor (change immutable fields, fail validation, etc) * You can perform edit flows that invoke the editor multiple times * You can make out-of-band changes to the server resources that cause conflict errors to be returned * The API requests/responses and editor inputs/outputs are captured in your testcase folder 5. Type exit. 6. Inspect the captured requests/responses and inputs/outputs for sanity 7. Modify the generated test.yaml file: * Set a description of what the test is doing * Enter the args (if any) you invoked edit with * Enter the filename (if any) you invoked edit with * Enter the output format (if any) you invoked edit with * Optionally specify substrings to look for in the stdout or stderr of the edit command 8. Add your new testcase name to the list of testcases in edit_test.go 9. Run `go test ./pkg/kubectl/cmd -run TestEdit -v` to run edit tests