Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(724)

Unified Diff: service/datastore/datastore_test.go

Issue 1270113002: Re-add metadata passthrough on Get operations (Closed) Base URL: https://github.com/luci/gae.git@fix_other_interfaces
Patch Set: cleanup Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « service/datastore/datastore.go ('k') | service/datastore/multiarg.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: service/datastore/datastore_test.go
diff --git a/service/datastore/datastore_test.go b/service/datastore/datastore_test.go
index 383a39ef0f1fd713522a77e9ce2369f5b37c22e4..b4a2756204897c7ad5d75987f946aa6ff5caecfe 100644
--- a/service/datastore/datastore_test.go
+++ b/service/datastore/datastore_test.go
@@ -116,7 +116,7 @@ func (f *fakeDatastore) PutMulti(keys []Key, vals []PropertyMap, cb PutMultiCB)
return nil
}
-func (f *fakeDatastore) GetMulti(keys []Key, cb GetMultiCB) error {
+func (f *fakeDatastore) GetMulti(keys []Key, _meta MultiMetaGetter, cb GetMultiCB) error {
if keys[0].Kind() == "FailAll" {
return errors.New("GetMulti fail all")
}
@@ -172,13 +172,15 @@ type FakePLS struct {
Value int64
gotLoaded bool
- failGetMeta bool
- failLoad bool
- failProblem bool
- failSave bool
- failSaveMeta bool
+ failGetMeta bool
+ failLoad bool
+ failProblem bool
+ failSave bool
+ failSetMeta bool
}
+var _ PropertyLoadSaver = (*FakePLS)(nil)
+
func (f *FakePLS) Load(pm PropertyMap) error {
if f.failLoad {
return errors.New("FakePLS.Load")
@@ -209,6 +211,10 @@ func (f *FakePLS) Save(withMeta bool) (PropertyMap, error) {
return ret, nil
}
+func (f *FakePLS) GetMetaDefault(key string, dflt interface{}) interface{} {
+ return GetMetaDefaultImpl(f.GetMeta, key, dflt)
+}
+
func (f *FakePLS) GetMeta(key string) (interface{}, error) {
if f.failGetMeta {
return nil, errors.New("FakePLS.GetMeta")
@@ -229,7 +235,7 @@ func (f *FakePLS) GetMeta(key string) (interface{}, error) {
}
func (f *FakePLS) SetMeta(key string, val interface{}) error {
- if f.failSaveMeta {
+ if f.failSetMeta {
return errors.New("FakePL.SetMeta")
}
if key == "id" {
@@ -602,6 +608,11 @@ func TestGet(t *testing.T) {
cs := CommonStruct{}
So(ds.Get(cs).Error(), ShouldContainSubstring, "invalid Get input type")
})
+
+ Convey("failure to save metadata is an issue too", func() {
+ cs := &FakePLS{failSave: true}
+ So(ds.Get(cs).Error(), ShouldContainSubstring, "FakePLS.Save")
+ })
})
Convey("ok", func() {
@@ -613,7 +624,8 @@ func TestGet(t *testing.T) {
Convey("Raw access too", func() {
rds := ds.Raw()
- So(rds.GetMulti([]Key{rds.NewKey("Kind", "", 1, nil)}, func(pm PropertyMap, err error) {
+ keys := []Key{rds.NewKey("Kind", "", 1, nil)}
+ So(rds.GetMulti(keys, nil, func(pm PropertyMap, err error) {
So(err, ShouldBeNil)
So(pm["Value"][0].Value(), ShouldEqual, 1)
}), ShouldBeNil)
« no previous file with comments | « service/datastore/datastore.go ('k') | service/datastore/multiarg.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698