fix kubectl delete semantic error

This commit is contained in:
zhouya0 2019-10-12 11:19:50 +08:00
parent 0599ca2bcf
commit 726dccc6bb
2 changed files with 19 additions and 1 deletions

View File

@ -820,7 +820,14 @@ func (b *Builder) visitorResult() *Result {
}
if len(b.resources) != 0 {
return &Result{err: fmt.Errorf("resource(s) were provided, but no name, label selector, or --all flag specified")}
for _, r := range b.resources {
_, err := b.mappingFor(r)
if err != nil {
return &Result{err: err}
} else {
return &Result{err: fmt.Errorf("resource(s) were provided, but no name, label selector, or --all flag specified")}
}
}
}
return &Result{err: missingResourceError}
}

View File

@ -1228,7 +1228,18 @@ func TestFieldSelectorRequiresKnownTypes(t *testing.T) {
t.Errorf("unexpected non-error")
}
}
func TestNoSelectorUnknowResourceType(t *testing.T) {
b := newDefaultBuilder().
NamespaceParam("test").
ResourceTypeOrNameArgs(false, "unknown")
err := b.Do().Err()
if err != nil {
if !strings.Contains(err.Error(), "server doesn't have a resource type \"unknown\"") {
t.Fatalf("unexpected error: %v", err)
}
}
}
func TestSingleResourceType(t *testing.T) {
b := newDefaultBuilder().
LabelSelectorParam("a=b").