diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion_test.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion_test.go index 5482b7b5ab1..b37c6158938 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion_test.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/generic/conversion_test.go @@ -42,7 +42,7 @@ func initiateScheme(t *testing.T) *runtime.Scheme { func TestConvertToGVK(t *testing.T) { scheme := initiateScheme(t) - o := &admission.SchemeBasedObjectInterfaces{scheme} + o := admission.NewObjectInterfacesFromScheme(scheme) table := map[string]struct { obj runtime.Object gvk schema.GroupVersionKind diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/dispatcher_test.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/dispatcher_test.go index a38f6387d67..2e7268532fd 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/dispatcher_test.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/mutating/dispatcher_test.go @@ -49,7 +49,7 @@ func TestDispatch(t *testing.T) { require.NoError(t, example.AddToScheme(scheme)) require.NoError(t, examplev1.AddToScheme(scheme)) require.NoError(t, example2v1.AddToScheme(scheme)) - objectInterfaces := &admission.SchemeBasedObjectInterfaces{scheme} + objectInterfaces := admission.NewObjectInterfacesFromScheme(scheme) tests := []struct { name string diff --git a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/testing/testcase.go b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/testing/testcase.go index 250ce00ab04..ee5467478ca 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/testing/testcase.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/testing/testcase.go @@ -702,5 +702,5 @@ func newMatchEverythingRules() []registrationv1beta1.RuleWithOperations { func NewObjectInterfacesForTest() admission.ObjectInterfaces { scheme := runtime.NewScheme() corev1.AddToScheme(scheme) - return &admission.SchemeBasedObjectInterfaces{scheme} + return admission.NewObjectInterfacesFromScheme(scheme) } diff --git a/staging/src/k8s.io/apiserver/pkg/admission/util.go b/staging/src/k8s.io/apiserver/pkg/admission/util.go index 61222f5d55c..54f188d82b6 100644 --- a/staging/src/k8s.io/apiserver/pkg/admission/util.go +++ b/staging/src/k8s.io/apiserver/pkg/admission/util.go @@ -18,11 +18,26 @@ package admission import "k8s.io/apimachinery/pkg/runtime" -type SchemeBasedObjectInterfaces struct { - Scheme *runtime.Scheme +type RuntimeObjectInterfaces struct { + runtime.ObjectCreater + runtime.ObjectTyper + runtime.ObjectDefaulter + runtime.ObjectConvertor } -func (r *SchemeBasedObjectInterfaces) GetObjectCreater() runtime.ObjectCreater { return r.Scheme } -func (r *SchemeBasedObjectInterfaces) GetObjectTyper() runtime.ObjectTyper { return r.Scheme } -func (r *SchemeBasedObjectInterfaces) GetObjectDefaulter() runtime.ObjectDefaulter { return r.Scheme } -func (r *SchemeBasedObjectInterfaces) GetObjectConvertor() runtime.ObjectConvertor { return r.Scheme } +func NewObjectInterfacesFromScheme(scheme *runtime.Scheme) ObjectInterfaces { + return &RuntimeObjectInterfaces{scheme, scheme, scheme, scheme} +} + +func (r *RuntimeObjectInterfaces) GetObjectCreater() runtime.ObjectCreater { + return r.ObjectCreater +} +func (r *RuntimeObjectInterfaces) GetObjectTyper() runtime.ObjectTyper { + return r.ObjectTyper +} +func (r *RuntimeObjectInterfaces) GetObjectDefaulter() runtime.ObjectDefaulter { + return r.ObjectDefaulter +} +func (r *RuntimeObjectInterfaces) GetObjectConvertor() runtime.ObjectConvertor { + return r.ObjectConvertor +} diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go index 4c33f05e79d..568325b27c5 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go @@ -369,7 +369,7 @@ func (tc *patchTestCase) Run(t *testing.T) { creater := runtime.ObjectCreater(scheme) defaulter := runtime.ObjectDefaulter(scheme) convertor := runtime.UnsafeObjectConvertor(scheme) - objectInterfaces := &admission.SchemeBasedObjectInterfaces{scheme} + objectInterfaces := admission.NewObjectInterfacesFromScheme(scheme) kind := examplev1.SchemeGroupVersion.WithKind("Pod") resource := examplev1.SchemeGroupVersion.WithResource("pods") schemaReferenceObj := &examplev1.Pod{}