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

Unified Diff: impl/memory/testing_utils_test.go

Issue 1355783002: Refactor keys and queries in datastore service and implementation. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: appease errcheck Created 5 years, 3 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 | « impl/memory/taskqueue_test.go ('k') | impl/prod/context.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: impl/memory/testing_utils_test.go
diff --git a/impl/memory/testing_utils_test.go b/impl/memory/testing_utils_test.go
index 513c0985098b1622968f578a96c646ecffdd3400..63baf85e01c377f1501af5c2bdfbbb9dc3e51a0d 100644
--- a/impl/memory/testing_utils_test.go
+++ b/impl/memory/testing_utils_test.go
@@ -11,7 +11,6 @@ import (
"time"
ds "github.com/luci/gae/service/datastore"
- "github.com/luci/gae/service/datastore/dskey"
"github.com/luci/gae/service/datastore/serialize"
"github.com/luci/luci-go/common/cmpbin"
)
@@ -21,13 +20,13 @@ func init() {
serialize.WritePropertyMapDeterministic = true
}
-var NEXT_STR = "NEXT MARKER"
-var NEXT = &NEXT_STR
+var nextMarker = "NEXT MARKER"
+var Next = &nextMarker
// Use like:
// pmap(
-// "prop", "val", 0, 100, NEXT,
-// "other", "val", 0, 100, NEXT,
+// "prop", "val", 0, 100, Next,
+// "other", "val", 0, 100, Next,
// )
//
func pmap(stuff ...interface{}) ds.PropertyMap {
@@ -45,11 +44,11 @@ func pmap(stuff ...interface{}) ds.PropertyMap {
for len(stuff) > 0 {
pname := nom().(string)
if pname[0] == '$' || (strings.HasPrefix(pname, "__") && strings.HasSuffix(pname, "__")) {
- for len(stuff) > 0 && stuff[0] != NEXT {
+ for len(stuff) > 0 && stuff[0] != Next {
ret[pname] = append(ret[pname], propNI(nom()))
}
} else {
- for len(stuff) > 0 && stuff[0] != NEXT {
+ for len(stuff) > 0 && stuff[0] != Next {
ret[pname] = append(ret[pname], prop(nom()))
}
}
@@ -59,13 +58,12 @@ func pmap(stuff ...interface{}) ds.PropertyMap {
return ret
}
-func nq(kind_ns ...string) ds.Query {
- if len(kind_ns) == 2 {
- return &queryImpl{kind: kind_ns[0], ns: kind_ns[1]}
- } else if len(kind_ns) == 1 {
- return &queryImpl{kind: kind_ns[0], ns: "ns"}
+func nq(kindMaybe ...string) *ds.Query {
+ kind := "Foo"
+ if len(kindMaybe) == 1 {
+ kind = kindMaybe[0]
}
- return &queryImpl{kind: "Foo", ns: "ns"}
+ return ds.NewQuery(kind)
}
func indx(kind string, orders ...string) *ds.IndexDefinition {
@@ -76,12 +74,11 @@ func indx(kind string, orders ...string) *ds.IndexDefinition {
}
ret := &ds.IndexDefinition{Kind: kind, Ancestor: ancestor}
for _, o := range orders {
- dir := ds.ASCENDING
- if o[0] == '-' {
- dir = ds.DESCENDING
- o = o[1:]
+ col, err := ds.ParseIndexColumn(o)
+ if err != nil {
+ panic(err)
}
- ret.SortBy = append(ret.SortBy, ds.IndexColumn{Property: o, Direction: dir})
+ ret.SortBy = append(ret.SortBy, col)
}
return ret
}
@@ -91,56 +88,53 @@ var (
propNI = ds.MkPropertyNI
)
-func key(kind string, id interface{}, parent ...ds.Key) ds.Key {
- p := ds.Key(nil)
- if len(parent) > 0 {
- p = parent[0]
- }
- switch x := id.(type) {
- case string:
- return dskey.New(globalAppID, "ns", kind, x, 0, p)
- case int:
- return dskey.New(globalAppID, "ns", kind, "", int64(x), p)
- default:
- return dskey.New(globalAppID, "ns", kind, "invalid", 100, p)
+func key(elems ...interface{}) *ds.Key {
+ return ds.MakeKey(globalAppID, "ns", elems...)
+}
+
+func die(err error) {
+ if err != nil {
+ panic(err)
}
}
// cat is a convenience method for concatenating anything with an underlying
// byte representation into a single []byte.
func cat(bytethings ...interface{}) []byte {
+ err := error(nil)
buf := &bytes.Buffer{}
for _, thing := range bytethings {
switch x := thing.(type) {
case int64:
- cmpbin.WriteInt(buf, x)
+ _, err = cmpbin.WriteInt(buf, x)
case int:
- cmpbin.WriteInt(buf, int64(x))
+ _, err = cmpbin.WriteInt(buf, int64(x))
case uint64:
- cmpbin.WriteUint(buf, x)
+ _, err = cmpbin.WriteUint(buf, x)
case uint:
- cmpbin.WriteUint(buf, uint64(x))
+ _, err = cmpbin.WriteUint(buf, uint64(x))
case float64:
- cmpbin.WriteFloat64(buf, x)
+ _, err = cmpbin.WriteFloat64(buf, x)
case byte:
- buf.WriteByte(x)
+ err = buf.WriteByte(x)
case ds.PropertyType:
- buf.WriteByte(byte(x))
+ err = buf.WriteByte(byte(x))
case string:
- cmpbin.WriteString(buf, x)
+ _, err = cmpbin.WriteString(buf, x)
case []byte:
- buf.Write(x)
+ _, err = buf.Write(x)
case time.Time:
- serialize.WriteTime(buf, x)
- case ds.Key:
- serialize.WriteKey(buf, serialize.WithoutContext, x)
+ err = serialize.WriteTime(buf, x)
+ case *ds.Key:
+ err = serialize.WriteKey(buf, serialize.WithoutContext, x)
case *ds.IndexDefinition:
- serialize.WriteIndexDefinition(buf, *x)
+ err = serialize.WriteIndexDefinition(buf, *x)
case ds.Property:
- serialize.WriteProperty(buf, serialize.WithoutContext, x)
+ err = serialize.WriteProperty(buf, serialize.WithoutContext, x)
default:
panic(fmt.Errorf("I don't know how to deal with %T: %#v", thing, thing))
}
+ die(err)
}
ret := buf.Bytes()
if ret == nil {
« no previous file with comments | « impl/memory/taskqueue_test.go ('k') | impl/prod/context.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698