mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 12:07:47 +00:00
fixup patcher test to include field manager
This commit is contained in:
parent
ad5cda4d21
commit
077cc20f8a
@ -344,6 +344,11 @@ func (p *jsonPatcher) applyPatchToCurrentObject(requestContext context.Context,
|
||||
}
|
||||
}
|
||||
|
||||
if p.options == nil {
|
||||
// Provide a more informative error for the crash that would
|
||||
// happen on the next line
|
||||
panic("PatchOptions required but not provided")
|
||||
}
|
||||
objToUpdate = p.fieldManager.UpdateNoErrors(currentObject, objToUpdate, managerOrUserAgent(p.options.FieldManager, p.userAgent))
|
||||
return objToUpdate, nil
|
||||
}
|
||||
|
@ -40,6 +40,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/runtime/serializer"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
"k8s.io/apimachinery/pkg/util/managedfields"
|
||||
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/strategicpatch"
|
||||
"k8s.io/apimachinery/pkg/util/yaml"
|
||||
@ -451,6 +452,13 @@ func (tc *patchTestCase) Run(t *testing.T) {
|
||||
schemaReferenceObj := &examplev1.Pod{}
|
||||
hubVersion := example.SchemeGroupVersion
|
||||
|
||||
fieldmanager, err := managedfields.NewDefaultFieldManager(
|
||||
managedfields.NewDeducedTypeConverter(),
|
||||
convertor, defaulter, creater, kind, hubVersion, "", nil)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("failed to create field manager: %v", err)
|
||||
}
|
||||
for _, patchType := range []types.PatchType{types.JSONPatchType, types.MergePatchType, types.StrategicMergePatchType} {
|
||||
// This needs to be reset on each iteration.
|
||||
testPatcher := &testPatcher{
|
||||
@ -536,10 +544,15 @@ func (tc *patchTestCase) Run(t *testing.T) {
|
||||
name: name,
|
||||
patchType: patchType,
|
||||
patchBytes: patch,
|
||||
options: &metav1.PatchOptions{
|
||||
FieldManager: "test-manager",
|
||||
},
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(ctx, time.Second)
|
||||
resultObj, _, err := p.patchResource(ctx, &RequestScope{})
|
||||
resultObj, _, err := p.patchResource(ctx, &RequestScope{
|
||||
FieldManager: fieldmanager,
|
||||
})
|
||||
cancel()
|
||||
|
||||
if len(tc.expectedError) != 0 {
|
||||
|
Loading…
Reference in New Issue
Block a user