Skip to content

Commit 4580490

Browse files
authored
Merge pull request kubernetes#126727 from jpbetz/fix-fake-apply-name
Stamp fake client apply reuqests with name from action
2 parents dc8c427 + 5784e58 commit 4580490

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

staging/src/k8s.io/client-go/testing/fixture.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ func (o objectTrackerReact) Apply(action PatchActionImpl) (runtime.Object, error
214214
if err := yaml.Unmarshal(action.GetPatch(), &patchObj.Object); err != nil {
215215
return nil, err
216216
}
217+
patchObj.SetName(action.GetName())
217218
err := o.tracker.Apply(gvr, patchObj, ns, action.PatchOptions)
218219
if err != nil {
219220
return nil, err

staging/src/k8s.io/client-go/testing/fixture_test.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,12 +294,33 @@ func TestApplyCreate(t *testing.T) {
294294
handled, configMap, err := reaction(action)
295295
assert.True(t, handled)
296296
if err != nil {
297-
t.Errorf("Failed to create a resource with apply: %v", err)
297+
t.Fatalf("Failed to create a resource with apply: %v", err)
298298
}
299299
cm := configMap.(*v1.ConfigMap)
300300
assert.Equal(t, cm.Data, map[string]string{"k": "v"})
301301
}
302302

303+
func TestApplyNoMeta(t *testing.T) {
304+
cmResource := schema.GroupVersionResource{Group: "", Version: "v1", Resource: "configMaps"}
305+
scheme := runtime.NewScheme()
306+
scheme.AddKnownTypes(cmResource.GroupVersion(), &v1.ConfigMap{})
307+
codecs := serializer.NewCodecFactory(scheme)
308+
o := NewFieldManagedObjectTracker(scheme, codecs.UniversalDecoder(), configMapTypeConverter(scheme))
309+
310+
reaction := ObjectReaction(o)
311+
patch := []byte(`{"apiVersion": "v1", "kind": "ConfigMap", "data": {"k": "v"}}`)
312+
action := NewPatchActionWithOptions(cmResource, "default", "cm-1", types.ApplyPatchType, patch,
313+
metav1.PatchOptions{FieldManager: "test-manager"})
314+
handled, configMap, err := reaction(action)
315+
assert.True(t, handled)
316+
if err != nil {
317+
t.Fatalf("Failed to create a resource with apply: %v", err)
318+
}
319+
cm := configMap.(*v1.ConfigMap)
320+
assert.Equal(t, "cm-1", cm.Name)
321+
assert.Equal(t, map[string]string{"k": "v"}, cm.Data)
322+
}
323+
303324
func TestApplyUpdateMultipleFieldManagers(t *testing.T) {
304325
cmResource := schema.GroupVersionResource{Group: "", Version: "v1", Resource: "configMaps"}
305326
scheme := runtime.NewScheme()

0 commit comments

Comments
 (0)