Commit 005b8dad authored by Klaus Ma's avatar Klaus Ma

Updated err message when retrieving resources by name with --all-namespaces.

parent bd3c11df
...@@ -1548,9 +1548,9 @@ __EOF__ ...@@ -1548,9 +1548,9 @@ __EOF__
# Clean up # Clean up
kubectl delete namespace my-namespace kubectl delete namespace my-namespace
############## ######################
# Pods in Namespaces # # Pods in Namespaces #
############## ######################
### Create a new namespace ### Create a new namespace
# Pre-condition: the other namespace does not exist # Pre-condition: the other namespace does not exist
...@@ -1569,6 +1569,9 @@ __EOF__ ...@@ -1569,6 +1569,9 @@ __EOF__
kube::test::get_object_assert 'pods --namespace=other' "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:' kube::test::get_object_assert 'pods --namespace=other' "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
# Post-condition: verify shorthand `-n other` has the same results as `--namespace=other` # Post-condition: verify shorthand `-n other` has the same results as `--namespace=other`
kube::test::get_object_assert 'pods -n other' "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:' kube::test::get_object_assert 'pods -n other' "{{range.items}}{{$id_field}}:{{end}}" 'valid-pod:'
# Post-condition: a resource cannot be retrieved by name across all namespaces
output_message=$(! kubectl get "${kube_flags[@]}" pod valid-pod --all-namespaces 2>&1)
kube::test::if_has_string "${output_message}" "a resource cannot be retrieved by name across all namespaces"
### Delete POD valid-pod in specific namespace ### Delete POD valid-pod in specific namespace
# Pre-condition: valid-pod POD exists # Pre-condition: valid-pod POD exists
...@@ -1580,9 +1583,9 @@ __EOF__ ...@@ -1580,9 +1583,9 @@ __EOF__
# Clean up # Clean up
kubectl delete namespace other kubectl delete namespace other
############## ###########
# Secrets # # Secrets #
############## ###########
### Create a new namespace ### Create a new namespace
# Pre-condition: the test-secrets namespace does not exist # Pre-condition: the test-secrets namespace does not exist
......
...@@ -55,8 +55,9 @@ type Builder struct { ...@@ -55,8 +55,9 @@ type Builder struct {
resources []string resources []string
namespace string namespace string
names []string allNamespace bool
names []string
resourceTuples []resourceTuple resourceTuples []resourceTuple
...@@ -296,6 +297,7 @@ func (b *Builder) AllNamespaces(allNamespace bool) *Builder { ...@@ -296,6 +297,7 @@ func (b *Builder) AllNamespaces(allNamespace bool) *Builder {
if allNamespace { if allNamespace {
b.namespace = api.NamespaceAll b.namespace = api.NamespaceAll
} }
b.allNamespace = allNamespace
return b return b
} }
...@@ -644,7 +646,11 @@ func (b *Builder) visitByResource() *Result { ...@@ -644,7 +646,11 @@ func (b *Builder) visitByResource() *Result {
selectorNamespace = "" selectorNamespace = ""
} else { } else {
if len(b.namespace) == 0 { if len(b.namespace) == 0 {
return &Result{singular: isSingular, err: fmt.Errorf("namespace may not be empty when retrieving a resource by name")} errMsg := "namespace may not be empty when retrieving a resource by name"
if b.allNamespace {
errMsg = "a resource cannot be retrieved by name across all namespaces"
}
return &Result{singular: isSingular, err: fmt.Errorf(errMsg)}
} }
} }
...@@ -690,7 +696,11 @@ func (b *Builder) visitByName() *Result { ...@@ -690,7 +696,11 @@ func (b *Builder) visitByName() *Result {
selectorNamespace = "" selectorNamespace = ""
} else { } else {
if len(b.namespace) == 0 { if len(b.namespace) == 0 {
return &Result{singular: isSingular, err: fmt.Errorf("namespace may not be empty when retrieving a resource by name")} errMsg := "namespace may not be empty when retrieving a resource by name"
if b.allNamespace {
errMsg = "a resource cannot be retrieved by name across all namespaces"
}
return &Result{singular: isSingular, err: fmt.Errorf(errMsg)}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment