func GetObject(fakeClient *tools.FakeEtcdClient, keyFn keyFunc, newFn newFunc, ctx api.Context, obj runtime.Object) (runtime.Object, error) { meta, err := api.ObjectMetaFor(obj) if err != nil { return nil, err } key, err := keyFn(ctx, meta.Name) if err != nil { return nil, err } key = etcdtest.AddPrefix(key) resp, err := fakeClient.Get(key, false, false) if err != nil { return nil, err } result := newFn() if err := testapi.Codec().DecodeInto([]byte(resp.Node.Value), result); err != nil { return nil, err } return result, nil }