diff --git a/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage.go b/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage.go index 75c92690f1f..71b5270c9b6 100644 --- a/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage.go +++ b/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage.go @@ -64,3 +64,8 @@ var _ rest.CategoriesProvider = &REST{} func (r *REST) Categories() []string { return []string{"api-extensions"} } + +// ShortNames implements the ShortNamesProvider interface. Returns a list of short names for a resource. +func (r *REST) ShortNames() []string { + return []string{"mwc"} +} diff --git a/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage_test.go b/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage_test.go new file mode 100644 index 00000000000..9b47ce8b097 --- /dev/null +++ b/pkg/registry/admissionregistration/mutatingwebhookconfiguration/storage/storage_test.go @@ -0,0 +1,51 @@ +/* +Copyright 2021 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package storage + +import ( + "testing" + + "k8s.io/apiserver/pkg/registry/generic" + etcd3testing "k8s.io/apiserver/pkg/storage/etcd3/testing" + "k8s.io/kubernetes/pkg/apis/admissionregistration" + "k8s.io/kubernetes/pkg/registry/registrytest" + + // Ensure that admissionregistration package is initialized. + _ "k8s.io/kubernetes/pkg/apis/admissionregistration/install" +) + +func newStorage(t *testing.T) (*REST, *etcd3testing.EtcdTestServer) { + etcdStorage, server := registrytest.NewEtcdStorage(t, admissionregistration.GroupName) + restOptions := generic.RESTOptions{ + StorageConfig: etcdStorage, + Decorator: generic.UndecoratedStorage, + DeleteCollectionWorkers: 1, + ResourcePrefix: "mutatingwebhookconfigurations"} + storage, err := NewREST(restOptions) + if err != nil { + t.Fatalf("unexpected error from REST storage: %v", err) + } + return storage, server +} + +func TestShortNames(t *testing.T) { + storage, server := newStorage(t) + defer server.Terminate(t) + defer storage.Store.DestroyFunc() + expected := []string{"mwc"} + registrytest.AssertShortNames(t, storage, expected) +} diff --git a/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage.go b/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage.go index 6312f6a0cd0..8f05ec514f3 100644 --- a/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage.go +++ b/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage.go @@ -64,3 +64,8 @@ var _ rest.CategoriesProvider = &REST{} func (r *REST) Categories() []string { return []string{"api-extensions"} } + +// ShortNames implements the ShortNamesProvider interface. Returns a list of short names for a resource. +func (r *REST) ShortNames() []string { + return []string{"vwc"} +} diff --git a/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage_test.go b/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage_test.go index cc16752bf3f..53ed68fbffc 100644 --- a/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage_test.go +++ b/pkg/registry/admissionregistration/validatingwebhookconfiguration/storage/storage_test.go @@ -199,3 +199,11 @@ func TestCategories(t *testing.T) { expected := []string{"api-extensions"} registrytest.AssertCategories(t, storage, expected) } + +func TestShortNames(t *testing.T) { + storage, server := newStorage(t) + defer server.Terminate(t) + defer storage.Store.DestroyFunc() + expected := []string{"vwc"} + registrytest.AssertShortNames(t, storage, expected) +}