Fix to unit tests. Also removed unneeded extra call to kubectl.

This commit is contained in:
Derek Bassett 2017-10-27 11:55:21 -06:00
parent e6d882ac47
commit 1c2774f592
2 changed files with 29 additions and 13 deletions

View File

@ -1415,6 +1415,7 @@ prompt_kubecontext() {
local kubectl_version="$(kubectl version --client 2>/dev/null)"
if [[ -n "$kubectl_version" ]]; then
# Get the current Kuberenetes context
local cur_ctx=$(kubectl config view -o=jsonpath='{.current-context}')
cur_namespace="$(kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${cur_ctx}\")].context.namespace}")"
# If the namespace comes back empty set it default.
@ -1422,9 +1423,6 @@ prompt_kubecontext() {
cur_namespace="default"
fi
# Get the current Kuberenetes context
local cur_ctx=$(kubectl config view -o=jsonpath='{.current-context}')
"$1_prompt_segment" "$0" "$2" "magenta" "white" "$cur_ctx/$cur_namespace" "KUBERNETES_ICON"
fi
}

View File

@ -18,11 +18,19 @@ function mockKubectl() {
;;
'config')
case "$2" in
'current-context')
echo 'minikube'
;;
'get-contexts')
echo '* minikube minikube minikube '
'view')
case "$3" in
'-o=jsonpath={.current-context}')
echo 'minikube'
;;
'-o=jsonpath={.contexts'*)
echo ''
;;
*)
echo "Mock value missed"
exit 1
;;
esac
;;
esac
;;
@ -36,11 +44,21 @@ function mockKubectlOtherNamespace() {
;;
'config')
case "$2" in
'current-context')
echo 'minikube'
;;
'get-contexts')
echo '* minikube minikube minikube kube-system'
'view')
case "$3" in
# Get Current Context
'-o=jsonpath={.current-context}')
echo 'minikube'
;;
# Get current namespace
'-o=jsonpath={.contexts'*)
echo 'kube-system'
;;
*)
echo "Mock value missed"
exit 1
;;
esac
;;
esac
;;