mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
make ObjectInterfaces impl generic
This commit is contained in:
parent
0402f677f0
commit
9071d21e3b
@ -42,7 +42,7 @@ func initiateScheme(t *testing.T) *runtime.Scheme {
|
|||||||
|
|
||||||
func TestConvertToGVK(t *testing.T) {
|
func TestConvertToGVK(t *testing.T) {
|
||||||
scheme := initiateScheme(t)
|
scheme := initiateScheme(t)
|
||||||
o := &admission.SchemeBasedObjectInterfaces{scheme}
|
o := admission.NewObjectInterfacesFromScheme(scheme)
|
||||||
table := map[string]struct {
|
table := map[string]struct {
|
||||||
obj runtime.Object
|
obj runtime.Object
|
||||||
gvk schema.GroupVersionKind
|
gvk schema.GroupVersionKind
|
||||||
|
@ -49,7 +49,7 @@ func TestDispatch(t *testing.T) {
|
|||||||
require.NoError(t, example.AddToScheme(scheme))
|
require.NoError(t, example.AddToScheme(scheme))
|
||||||
require.NoError(t, examplev1.AddToScheme(scheme))
|
require.NoError(t, examplev1.AddToScheme(scheme))
|
||||||
require.NoError(t, example2v1.AddToScheme(scheme))
|
require.NoError(t, example2v1.AddToScheme(scheme))
|
||||||
objectInterfaces := &admission.SchemeBasedObjectInterfaces{scheme}
|
objectInterfaces := admission.NewObjectInterfacesFromScheme(scheme)
|
||||||
|
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
name string
|
name string
|
||||||
|
@ -702,5 +702,5 @@ func newMatchEverythingRules() []registrationv1beta1.RuleWithOperations {
|
|||||||
func NewObjectInterfacesForTest() admission.ObjectInterfaces {
|
func NewObjectInterfacesForTest() admission.ObjectInterfaces {
|
||||||
scheme := runtime.NewScheme()
|
scheme := runtime.NewScheme()
|
||||||
corev1.AddToScheme(scheme)
|
corev1.AddToScheme(scheme)
|
||||||
return &admission.SchemeBasedObjectInterfaces{scheme}
|
return admission.NewObjectInterfacesFromScheme(scheme)
|
||||||
}
|
}
|
||||||
|
@ -18,11 +18,26 @@ package admission
|
|||||||
|
|
||||||
import "k8s.io/apimachinery/pkg/runtime"
|
import "k8s.io/apimachinery/pkg/runtime"
|
||||||
|
|
||||||
type SchemeBasedObjectInterfaces struct {
|
type RuntimeObjectInterfaces struct {
|
||||||
Scheme *runtime.Scheme
|
runtime.ObjectCreater
|
||||||
|
runtime.ObjectTyper
|
||||||
|
runtime.ObjectDefaulter
|
||||||
|
runtime.ObjectConvertor
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *SchemeBasedObjectInterfaces) GetObjectCreater() runtime.ObjectCreater { return r.Scheme }
|
func NewObjectInterfacesFromScheme(scheme *runtime.Scheme) ObjectInterfaces {
|
||||||
func (r *SchemeBasedObjectInterfaces) GetObjectTyper() runtime.ObjectTyper { return r.Scheme }
|
return &RuntimeObjectInterfaces{scheme, scheme, scheme, scheme}
|
||||||
func (r *SchemeBasedObjectInterfaces) GetObjectDefaulter() runtime.ObjectDefaulter { return r.Scheme }
|
}
|
||||||
func (r *SchemeBasedObjectInterfaces) GetObjectConvertor() runtime.ObjectConvertor { return r.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)
|
creater := runtime.ObjectCreater(scheme)
|
||||||
defaulter := runtime.ObjectDefaulter(scheme)
|
defaulter := runtime.ObjectDefaulter(scheme)
|
||||||
convertor := runtime.UnsafeObjectConvertor(scheme)
|
convertor := runtime.UnsafeObjectConvertor(scheme)
|
||||||
objectInterfaces := &admission.SchemeBasedObjectInterfaces{scheme}
|
objectInterfaces := admission.NewObjectInterfacesFromScheme(scheme)
|
||||||
kind := examplev1.SchemeGroupVersion.WithKind("Pod")
|
kind := examplev1.SchemeGroupVersion.WithKind("Pod")
|
||||||
resource := examplev1.SchemeGroupVersion.WithResource("pods")
|
resource := examplev1.SchemeGroupVersion.WithResource("pods")
|
||||||
schemaReferenceObj := &examplev1.Pod{}
|
schemaReferenceObj := &examplev1.Pod{}
|
||||||
|
Loading…
Reference in New Issue
Block a user