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
// objects (unstructured) of the given GVK.
func NewFakeObjectCreater(gvk schema.GroupVersionKind) runtime.ObjectCreater {
return &fakeObjectCreater{gvk: gvk}
func NewFakeObjectCreater() runtime.ObjectCreater {
return &fakeObjectCreater{}
}
type fakeObjectCreater struct {
gvk schema.GroupVersionKind
}
type fakeObjectCreater struct{}
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.SetAPIVersion(f.gvk.GroupVersion().String())
u.SetKind(f.gvk.Kind)
u.SetAPIVersion(gvk.GroupVersion().String())
u.SetKind(gvk.Kind)
return &u, nil
}
@ -167,7 +165,7 @@ func NewTestFieldManager(gvk schema.GroupVersionKind, subresource string, chainF
fieldmanager.NewManagedFieldsUpdater(
fieldmanager.NewStripMetaManager(f),
), gvk.GroupVersion(), subresource,
), NewFakeObjectCreater(gvk), gvk, fieldmanager.DefaultTrackOnCreateProbability,
), NewFakeObjectCreater(), gvk, fieldmanager.DefaultTrackOnCreateProbability,
), 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 {
return fieldmanager.NewSkipNonAppliedManager(
m,
fieldmanagertest.NewFakeObjectCreater(schema.FromAPIVersionAndKind("v1", "Pod")),
schema.GroupVersionKind{},
fieldmanagertest.NewFakeObjectCreater(),
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 {
return fieldmanager.NewSkipNonAppliedManager(
m,
fieldmanagertest.NewFakeObjectCreater(schema.FromAPIVersionAndKind("v1", "Pod")),
schema.GroupVersionKind{},
fieldmanagertest.NewFakeObjectCreater(),
schema.FromAPIVersionAndKind("v1", "Pod"),
)
})