Files
kubernetes/pkg/kubectl/cmd/testdata/edit
Clayton Coleman f8cc69cafe kubectl apply edit-last-applied should fail when version is missing
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.
2017-11-16 18:02:41 -05:00
..
2017-05-31 15:08:25 -07:00
2017-10-15 18:18:13 -07:00

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