From 92bb3cdeda8daf91cdaa04c0e670324623c6c904 Mon Sep 17 00:00:00 2001 From: alingse Date: Thu, 12 Dec 2024 10:56:37 +0800 Subject: [PATCH] fix: fix miss makezero bug (#125132) * fix: fix miss makezero bug Signed-off-by: alingse * add testcase for new verb * Update create_role_test.go --------- Signed-off-by: alingse Kubernetes-commit: 5b06498cb24ee68dbc2815a1d9fa505da3452d98 --- pkg/cmd/create/create_role.go | 2 +- pkg/cmd/create/create_role_test.go | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/cmd/create/create_role.go b/pkg/cmd/create/create_role.go index 822ed11e7..dd78549df 100644 --- a/pkg/cmd/create/create_role.go +++ b/pkg/cmd/create/create_role.go @@ -116,7 +116,7 @@ var ( func AddSpecialVerb(verb string, gr schema.GroupResource) { resources, ok := specialVerbs[verb] if !ok { - resources = make([]schema.GroupResource, 1) + resources = make([]schema.GroupResource, 0, 1) } resources = append(resources, gr) specialVerbs[verb] = resources diff --git a/pkg/cmd/create/create_role_test.go b/pkg/cmd/create/create_role_test.go index a9e1d65f5..111b0d6a0 100644 --- a/pkg/cmd/create/create_role_test.go +++ b/pkg/cmd/create/create_role_test.go @@ -684,14 +684,17 @@ func TestAddSpecialVerb(t *testing.T) { testCases := map[string]struct { verb string resource schema.GroupResource + isNew bool }{ "existing verb": { verb: "use", resource: schema.GroupResource{Group: "my.custom.io", Resource: "one"}, + isNew: false, }, "new verb": { verb: "new", resource: schema.GroupResource{Group: "my.custom.io", Resource: "two"}, + isNew: true, }, } @@ -703,6 +706,16 @@ func TestAddSpecialVerb(t *testing.T) { t.Errorf("missing expected verb: %s", tc.verb) } + if tc.isNew { + if len(resources) != 1 { + t.Errorf("new verb should only contain one resource resources:%#v", resources) + } + if !reflect.DeepEqual(tc.resource, resources[0]) { + t.Errorf("miss expected resource:%#v", tc.resource) + } + return + } + for _, res := range resources { if reflect.DeepEqual(tc.resource, res) { return