From 97ec47ba551a0ac59a19dc5c5bb694c283fa8a72 Mon Sep 17 00:00:00 2001 From: Di Xu Date: Wed, 24 Jan 2018 17:40:21 +0800 Subject: [PATCH] use containing API group when resolving shortname from discovery --- pkg/kubectl/cmd/util/shortcut_restmapper.go | 1 + .../cmd/util/shortcut_restmapper_test.go | 27 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/pkg/kubectl/cmd/util/shortcut_restmapper.go b/pkg/kubectl/cmd/util/shortcut_restmapper.go index c5ecfa84b12..e04811d4a58 100644 --- a/pkg/kubectl/cmd/util/shortcut_restmapper.go +++ b/pkg/kubectl/cmd/util/shortcut_restmapper.go @@ -115,6 +115,7 @@ func (e shortcutExpander) expandResourceShortcut(resource schema.GroupVersionRes } if resource.Resource == item.ShortForm.Resource { resource.Resource = item.LongForm.Resource + resource.Group = item.LongForm.Group return resource } } diff --git a/pkg/kubectl/cmd/util/shortcut_restmapper_test.go b/pkg/kubectl/cmd/util/shortcut_restmapper_test.go index 41903643fd4..d08d1d99ca6 100644 --- a/pkg/kubectl/cmd/util/shortcut_restmapper_test.go +++ b/pkg/kubectl/cmd/util/shortcut_restmapper_test.go @@ -46,7 +46,7 @@ func TestReplaceAliases(t *testing.T) { { name: "hpa-priority", arg: "hpa", - expected: schema.GroupVersionResource{Resource: "superhorizontalpodautoscalers"}, + expected: schema.GroupVersionResource{Resource: "superhorizontalpodautoscalers", Group: "autoscaling"}, srvRes: []*metav1.APIResourceList{ { GroupVersion: "autoscaling/v1", @@ -68,6 +68,31 @@ func TestReplaceAliases(t *testing.T) { }, }, }, + { + name: "resource-override", + arg: "dpl", + expected: schema.GroupVersionResource{Resource: "deployments", Group: "foo"}, + srvRes: []*metav1.APIResourceList{ + { + GroupVersion: "foo/v1", + APIResources: []metav1.APIResource{ + { + Name: "deployments", + ShortNames: []string{"dpl"}, + }, + }, + }, + { + GroupVersion: "extension/v1beta1", + APIResources: []metav1.APIResource{ + { + Name: "deployments", + ShortNames: []string{"deploy"}, + }, + }, + }, + }, + }, } ds := &fakeDiscoveryClient{}