make ObjectInterfaces impl generic
Kubernetes-commit: 9071d21e3b1989ffeee4f533406e4fef6bf32aa8
This commit is contained in:
parent
afec0f3efa
commit
054e44a286
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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{}
|
||||
|
|
Loading…
Reference in New Issue