add unset flag (#187)

* add unset flag

* test unsetting selected context

* update readme with new unset flag

* testdata notes

* set a current context

* cleanup

* omit fixture changes
This commit is contained in:
rob salmond 2020-02-04 10:39:47 -07:00 committed by GitHub
parent f48c4198e7
commit 3369d42e2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 22 additions and 0 deletions

View File

@ -31,6 +31,7 @@ USAGE:
kubectx -d <NAME> : delete context <NAME> ('.' for current-context)
(this command won't delete the user/cluster entry
that is used by the context)
kubectx -u, --unset : unset the current context
```
### Usage

View File

@ -43,6 +43,7 @@ USAGE:
$SELF -d <NAME> [<NAME...>] : delete context <NAME> ('.' for current-context)
(this command won't delete the user/cluster entry
that is used by the context)
$SELF -u, --unset : unset the current context
$SELF -h,--help : show this message
EOF
@ -185,6 +186,11 @@ delete_context() {
$KUBECTL config delete-context "${ctx}"
}
unset_context() {
echo "Unsetting current context." >&2
$KUBECTL config unset current-context
}
main() {
if hash kubectl 2>/dev/null; then
KUBECTL=kubectl
@ -220,6 +226,8 @@ main() {
# - it does not fail when current-context property is not set
# - it does not return a trailing newline
kubectl config current-context
elif [[ "${1}" == '-u' || "${1}" == '--unset' ]]; then
unset_context
elif [[ "${1}" == '-h' || "${1}" == '--help' ]]; then
usage
elif [[ "${1}" =~ ^-(.*) ]]; then

View File

@ -239,3 +239,16 @@ load common
[ "$status" -eq 0 ]
[[ "$output" = "user2@cluster1" ]]
}
@test "unset selected context" {
use_config config2
run ${COMMAND} user1@cluster1
[ "$status" -eq 0 ]
run ${COMMAND} -u
[ "$status" -eq 0 ]
run ${COMMAND} -c
[ "$status" -ne 0 ]
}