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

Unified Diff: service/datastore/key_test.go

Issue 2302743002: Interface update, per-method Contexts. (Closed)
Patch Set: Lightning talk licenses. Created 4 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 | « service/datastore/key.go ('k') | service/datastore/meta/eg.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: service/datastore/key_test.go
diff --git a/service/datastore/key_test.go b/service/datastore/key_test.go
index ae8fe3c824e626a9663252625e377f2c04b1d3a2..e9588cb5fe06622e912f3995d81e5ef9318e603c 100644
--- a/service/datastore/key_test.go
+++ b/service/datastore/key_test.go
@@ -26,10 +26,11 @@ func ShouldEqualKey(actual interface{}, expected ...interface{}) string {
func TestKeyEncode(t *testing.T) {
t.Parallel()
+ kc := KeyContext{"appid", "ns"}
keys := []*Key{
- MakeKey("appid", "ns", "kind", 1),
- MakeKey("appid", "ns", "nerd", "moo"),
- MakeKey("appid", "ns", "parent", 10, "renerd", "moo"),
+ kc.MakeKey("kind", 1),
+ kc.MakeKey("nerd", "moo"),
+ kc.MakeKey("parent", 10, "renerd", "moo"),
}
Convey("Key Round trip", t, func() {
@@ -61,17 +62,17 @@ func TestKeyEncode(t *testing.T) {
Convey("NewKey", t, func() {
Convey("single", func() {
- k := NewKey("appid", "ns", "kind", "", 1, nil)
+ k := KeyContext{"appid", "ns"}.NewKey("kind", "", 1, nil)
So(k, ShouldEqualKey, keys[0])
})
Convey("empty", func() {
- So(NewKeyToks("appid", "ns", nil), ShouldBeNil)
+ So(KeyContext{"appid", "ns"}.NewKeyToks(nil), ShouldBeNil)
})
Convey("nest", func() {
- k := NewKey("appid", "ns", "renerd", "moo", 0,
- NewKey("appid", "ns", "parent", "", 10, nil))
+ kc := KeyContext{"appid", "ns"}
+ k := kc.NewKey("renerd", "moo", 0, kc.NewKey("parent", "", 10, nil))
So(k, ShouldEqualKey, keys[2])
})
})
@@ -101,34 +102,36 @@ func TestKeyEncode(t *testing.T) {
}
func TestKeyValidity(t *testing.T) {
- //t.Parallel()
+ t.Parallel()
Convey("keys validity", t, func() {
+ kc := KeyContext{"aid", "ns"}
+
Convey("incomplete", func() {
- So(MakeKey("aid", "ns", "kind", 1).IsIncomplete(), ShouldBeFalse)
- So(MakeKey("aid", "ns", "kind", 0).IsIncomplete(), ShouldBeTrue)
+ So(kc.MakeKey("kind", 1).IsIncomplete(), ShouldBeFalse)
+ So(kc.MakeKey("kind", 0).IsIncomplete(), ShouldBeTrue)
})
Convey("invalid", func() {
- So(MakeKey("aid", "ns", "hat", "face", "__kind__", 1).Valid(true, "aid", "ns"), ShouldBeTrue)
+ So(kc.MakeKey("hat", "face", "__kind__", 1).Valid(true, kc), ShouldBeTrue)
bads := []*Key{
- NewKeyToks("aid", "ns", []KeyTok{{"Kind", 1, "1"}}),
- MakeKey("", "ns", "hat", "face"),
- MakeKey("aid", "ns", "base", 1, "", "id"),
- MakeKey("aid", "ns", "hat", "face", "__kind__", 1),
- MakeKey("aid", "ns", "hat", 0, "kind", 1),
+ KeyContext{"aid", "ns"}.NewKeyToks([]KeyTok{{"Kind", 1, "1"}}),
+ KeyContext{"", "ns"}.MakeKey("", "ns", "hat", "face"),
+ kc.MakeKey("base", 1, "", "id"),
+ kc.MakeKey("hat", "face", "__kind__", 1),
+ kc.MakeKey("hat", 0, "kind", 1),
}
for _, k := range bads {
Convey(k.String(), func() {
- So(k.Valid(false, "aid", "ns"), ShouldBeFalse)
+ So(k.Valid(false, kc), ShouldBeFalse)
})
}
})
Convey("partially valid", func() {
- So(MakeKey("aid", "ns", "kind", "").PartialValid("aid", "ns"), ShouldBeTrue)
- So(MakeKey("aid", "ns", "kind", "", "child", "").PartialValid("aid", "ns"), ShouldBeFalse)
+ So(kc.MakeKey("kind", "").PartialValid(kc), ShouldBeTrue)
+ So(kc.MakeKey("kind", "", "child", "").PartialValid(kc), ShouldBeFalse)
})
})
}
@@ -137,30 +140,38 @@ func TestMiscKey(t *testing.T) {
t.Parallel()
Convey("KeyRoot", t, func() {
- k := MakeKey("appid", "ns", "parent", 10, "renerd", "moo")
- r := MakeKey("appid", "ns", "parent", 10)
+ kc := KeyContext{"appid", "ns"}
+
+ k := kc.MakeKey("parent", 10, "renerd", "moo")
+ r := kc.MakeKey("parent", 10)
So(k.Root(), ShouldEqualKey, r)
})
Convey("KeysEqual", t, func() {
- k1 := MakeKey("a", "n", "knd", 1)
- k2 := MakeKey("a", "n", "knd", 1)
+ kc := KeyContext{"a", "n"}
+
+ k1 := kc.MakeKey("knd", 1)
+ k2 := kc.MakeKey("knd", 1)
So(k1.Equal(k2), ShouldBeTrue)
- k3 := MakeKey("a", "n", "knd", 2)
+ k3 := kc.MakeKey("knd", 2)
So(k1.Equal(k3), ShouldBeFalse)
})
Convey("KeyString", t, func() {
- k1 := MakeKey("a", "n", "knd", 1, "other", "wat")
+ kc := KeyContext{"a", "n"}
+
+ k1 := kc.MakeKey("knd", 1, "other", "wat")
So(k1.String(), ShouldEqual, "a:n:/knd,1/other,\"wat\"")
})
Convey("HasAncestor", t, func() {
- k1 := MakeKey("a", "n", "kind", 1)
- k2 := MakeKey("a", "n", "kind", 1, "other", "wat")
- k3 := MakeKey("a", "n", "kind", 1, "other", "wat", "extra", "data")
- k4 := MakeKey("something", "n", "kind", 1)
- k5 := MakeKey("a", "n", "kind", 1, "other", "meep")
+ kc := KeyContext{"a", "n"}
+
+ k1 := kc.MakeKey("kind", 1)
+ k2 := kc.MakeKey("kind", 1, "other", "wat")
+ k3 := kc.MakeKey("kind", 1, "other", "wat", "extra", "data")
+ k4 := KeyContext{"something", "n"}.MakeKey("kind", 1)
+ k5 := kc.MakeKey("kind", 1, "other", "meep")
So(k1.HasAncestor(k1), ShouldBeTrue)
So(k1.HasAncestor(k2), ShouldBeFalse)
@@ -177,8 +188,8 @@ func TestMiscKey(t *testing.T) {
Key *Key
}
t := &TestStruct{
- NewKey("aid", "ns", "kind", "id", 0,
- NewKey("aid", "ns", "parent", "", 1, nil),
+ KeyContext{"aid", "ns"}.NewKey("kind", "id", 0,
+ KeyContext{"aid", "ns"}.NewKey("parent", "", 1, nil),
)}
d, err := json.Marshal(t)
So(err, ShouldBeNil)
@@ -226,17 +237,17 @@ func TestKeySort(t *testing.T) {
Convey("Key comparison works", t, func() {
s := []*Key{
- MakeKey("A", "", "kind", 1),
- MakeKey("A", "n", "kind", 1),
- MakeKey("A", "n", "kind", 1, "something", "else"),
- MakeKey("A", "n", "kind", "1"),
- MakeKey("A", "n", "kind", "1", "something", "else"),
- MakeKey("A", "n", "other", 1, "something", "else"),
- MakeKey("a", "", "kind", 1),
- MakeKey("a", "n", "kind", 1),
- MakeKey("a", "n", "kind", 2),
- MakeKey("a", "p", "aleph", 1),
- MakeKey("b", "n", "kind", 2),
+ KeyContext{"A", ""}.MakeKey("kind", 1),
+ KeyContext{"A", "n"}.MakeKey("kind", 1),
+ KeyContext{"A", "n"}.MakeKey("kind", 1, "something", "else"),
+ KeyContext{"A", "n"}.MakeKey("kind", "1"),
+ KeyContext{"A", "n"}.MakeKey("kind", "1", "something", "else"),
+ KeyContext{"A", "n"}.MakeKey("other", 1, "something", "else"),
+ KeyContext{"a", ""}.MakeKey("kind", 1),
+ KeyContext{"a", "n"}.MakeKey("kind", 1),
+ KeyContext{"a", "n"}.MakeKey("kind", 2),
+ KeyContext{"a", "p"}.MakeKey("aleph", 1),
+ KeyContext{"b", "n"}.MakeKey("kind", 2),
}
for i := 1; i < len(s); i++ {
« no previous file with comments | « service/datastore/key.go ('k') | service/datastore/meta/eg.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698