Fix FakeObjectCreater ignoring given gvk

This commit is contained in:
Antoine Pelisse 2022-12-08 09:24:14 -08:00
parent bdbc0eb208
commit 948ab9175a
2 changed files with 11 additions and 13 deletions

View File

@ -102,18 +102,16 @@ func (sameVersionConverter) IsMissingVersionError(error) bool {
// NewFakeObjectCreater implements ObjectCreater, it can create empty // NewFakeObjectCreater implements ObjectCreater, it can create empty
// objects (unstructured) of the given GVK. // objects (unstructured) of the given GVK.
func NewFakeObjectCreater(gvk schema.GroupVersionKind) runtime.ObjectCreater { func NewFakeObjectCreater() runtime.ObjectCreater {
return &fakeObjectCreater{gvk: gvk} return &fakeObjectCreater{}
} }
type fakeObjectCreater struct { type fakeObjectCreater struct{}
gvk schema.GroupVersionKind
}
func (f *fakeObjectCreater) New(_ schema.GroupVersionKind) (runtime.Object, error) { func (f *fakeObjectCreater) New(gvk schema.GroupVersionKind) (runtime.Object, error) {
u := unstructured.Unstructured{Object: map[string]interface{}{}} u := unstructured.Unstructured{Object: map[string]interface{}{}}
u.SetAPIVersion(f.gvk.GroupVersion().String()) u.SetAPIVersion(gvk.GroupVersion().String())
u.SetKind(f.gvk.Kind) u.SetKind(gvk.Kind)
return &u, nil return &u, nil
} }
@ -167,7 +165,7 @@ func NewTestFieldManager(gvk schema.GroupVersionKind, subresource string, chainF
fieldmanager.NewManagedFieldsUpdater( fieldmanager.NewManagedFieldsUpdater(
fieldmanager.NewStripMetaManager(f), fieldmanager.NewStripMetaManager(f),
), gvk.GroupVersion(), subresource, ), gvk.GroupVersion(), subresource,
), NewFakeObjectCreater(gvk), gvk, fieldmanager.DefaultTrackOnCreateProbability, ), NewFakeObjectCreater(), gvk, fieldmanager.DefaultTrackOnCreateProbability,
), typeConverter, objectConverter, gvk.GroupVersion(), ), typeConverter, objectConverter, gvk.GroupVersion(),
), ),
) )

View File

@ -33,8 +33,8 @@ func TestNoUpdateBeforeFirstApply(t *testing.T) {
f := fieldmanagertest.NewTestFieldManager(schema.FromAPIVersionAndKind("v1", "Pod"), "", func(m fieldmanager.Manager) fieldmanager.Manager { f := fieldmanagertest.NewTestFieldManager(schema.FromAPIVersionAndKind("v1", "Pod"), "", func(m fieldmanager.Manager) fieldmanager.Manager {
return fieldmanager.NewSkipNonAppliedManager( return fieldmanager.NewSkipNonAppliedManager(
m, m,
fieldmanagertest.NewFakeObjectCreater(schema.FromAPIVersionAndKind("v1", "Pod")), fieldmanagertest.NewFakeObjectCreater(),
schema.GroupVersionKind{}, schema.FromAPIVersionAndKind("v1", "Pod"),
) )
}) })
@ -73,8 +73,8 @@ func TestUpdateBeforeFirstApply(t *testing.T) {
f := fieldmanagertest.NewTestFieldManager(schema.FromAPIVersionAndKind("v1", "Pod"), "", func(m fieldmanager.Manager) fieldmanager.Manager { f := fieldmanagertest.NewTestFieldManager(schema.FromAPIVersionAndKind("v1", "Pod"), "", func(m fieldmanager.Manager) fieldmanager.Manager {
return fieldmanager.NewSkipNonAppliedManager( return fieldmanager.NewSkipNonAppliedManager(
m, m,
fieldmanagertest.NewFakeObjectCreater(schema.FromAPIVersionAndKind("v1", "Pod")), fieldmanagertest.NewFakeObjectCreater(),
schema.GroupVersionKind{}, schema.FromAPIVersionAndKind("v1", "Pod"),
) )
}) })