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

Side by Side Diff: service/datastore/datastore_test.go

Issue 1358063003: Add Kind/StringID/IntID back to Key. (Closed) Base URL: https://github.com/luci/gae.git@add_allocate_ids
Patch Set: Created 5 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // adapted from github.com/golang/appengine/datastore 5 // adapted from github.com/golang/appengine/datastore
6 6
7 package datastore 7 package datastore
8 8
9 import ( 9 import (
10 "fmt" 10 "fmt"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 } 51 }
52 pm := PropertyMap{"Value": {MkProperty(i)}} 52 pm := PropertyMap{"Value": {MkProperty(i)}}
53 if !cb(k, pm, nil) { 53 if !cb(k, pm, nil) {
54 break 54 break
55 } 55 }
56 } 56 }
57 return nil 57 return nil
58 } 58 }
59 59
60 func (f *fakeDatastore) PutMulti(keys []*Key, vals []PropertyMap, cb PutMultiCB) error { 60 func (f *fakeDatastore) PutMulti(keys []*Key, vals []PropertyMap, cb PutMultiCB) error {
61 » if keys[0].Last().Kind == "FailAll" { 61 » if keys[0].Kind() == "FailAll" {
62 return errors.New("PutMulti fail all") 62 return errors.New("PutMulti fail all")
63 } 63 }
64 assertExtra := false 64 assertExtra := false
65 if _, err := vals[0].GetMeta("assertExtra"); err == nil { 65 if _, err := vals[0].GetMeta("assertExtra"); err == nil {
66 assertExtra = true 66 assertExtra = true
67 } 67 }
68 for i, k := range keys { 68 for i, k := range keys {
69 err := error(nil) 69 err := error(nil)
70 » » if k.Last().Kind == "Fail" { 70 » » if k.Kind() == "Fail" {
71 err = errors.New("PutMulti fail") 71 err = errors.New("PutMulti fail")
72 } else { 72 } else {
73 So(vals[i]["Value"], ShouldResemble, []Property{MkProper ty(i)}) 73 So(vals[i]["Value"], ShouldResemble, []Property{MkProper ty(i)})
74 if assertExtra { 74 if assertExtra {
75 So(vals[i]["Extra"], ShouldResemble, []Property{ MkProperty("whoa")}) 75 So(vals[i]["Extra"], ShouldResemble, []Property{ MkProperty("whoa")})
76 } 76 }
77 if k.Incomplete() { 77 if k.Incomplete() {
78 » » » » k = NewKey(k.AppID(), k.Namespace(), k.Last().Ki nd, "", int64(i+1), k.Parent()) 78 » » » » k = NewKey(k.AppID(), k.Namespace(), k.Kind(), " ", int64(i+1), k.Parent())
79 } 79 }
80 } 80 }
81 cb(k, err) 81 cb(k, err)
82 } 82 }
83 return nil 83 return nil
84 } 84 }
85 85
86 func (f *fakeDatastore) GetMulti(keys []*Key, _meta MultiMetaGetter, cb GetMulti CB) error { 86 func (f *fakeDatastore) GetMulti(keys []*Key, _meta MultiMetaGetter, cb GetMulti CB) error {
87 » if keys[0].Last().Kind == "FailAll" { 87 » if keys[0].Kind() == "FailAll" {
88 return errors.New("GetMulti fail all") 88 return errors.New("GetMulti fail all")
89 } 89 }
90 for i, k := range keys { 90 for i, k := range keys {
91 » » if k.Last().Kind == "Fail" { 91 » » if k.Kind() == "Fail" {
92 cb(nil, errors.New("GetMulti fail")) 92 cb(nil, errors.New("GetMulti fail"))
93 } else { 93 } else {
94 cb(PropertyMap{"Value": {MkProperty(i + 1)}}, nil) 94 cb(PropertyMap{"Value": {MkProperty(i + 1)}}, nil)
95 } 95 }
96 } 96 }
97 return nil 97 return nil
98 } 98 }
99 99
100 func (f *fakeDatastore) DeleteMulti(keys []*Key, cb DeleteMultiCB) error { 100 func (f *fakeDatastore) DeleteMulti(keys []*Key, cb DeleteMultiCB) error {
101 » if keys[0].Last().Kind == "FailAll" { 101 » if keys[0].Kind() == "FailAll" {
102 return errors.New("DeleteMulti fail all") 102 return errors.New("DeleteMulti fail all")
103 } 103 }
104 for _, k := range keys { 104 for _, k := range keys {
105 » » if k.Last().Kind == "Fail" { 105 » » if k.Kind() == "Fail" {
106 cb(errors.New("DeleteMulti fail")) 106 cb(errors.New("DeleteMulti fail"))
107 } else { 107 } else {
108 cb(nil) 108 cb(nil)
109 } 109 }
110 } 110 }
111 return nil 111 return nil
112 } 112 }
113 113
114 type badStruct struct { 114 type badStruct struct {
115 ID int64 `gae:"$id"` 115 ID int64 `gae:"$id"`
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 for i, fpls := range fplss { 416 for i, fpls := range fplss {
417 expect := int64(i + 1) 417 expect := int64(i + 1)
418 if i == 4 { 418 if i == 4 {
419 expect = 200 419 expect = 200
420 } 420 }
421 So(fpls.IntID, ShouldEqual, expect) 421 So(fpls.IntID, ShouldEqual, expect)
422 } 422 }
423 423
424 pm := PropertyMap{"Value": {MkProperty(0)}, "$ki nd": {MkPropertyNI("Pmap")}} 424 pm := PropertyMap{"Value": {MkProperty(0)}, "$ki nd": {MkPropertyNI("Pmap")}}
425 So(ds.Put(pm), ShouldBeNil) 425 So(ds.Put(pm), ShouldBeNil)
426 » » » » So(ds.KeyForObj(pm).Last().IntID, ShouldEqual, 1 ) 426 » » » » So(ds.KeyForObj(pm).IntID(), ShouldEqual, 1)
427 }) 427 })
428 428
429 Convey("[]P (map)", func() { 429 Convey("[]P (map)", func() {
430 pms := make([]PropertyMap, 7) 430 pms := make([]PropertyMap, 7)
431 for i := range pms { 431 for i := range pms {
432 pms[i] = PropertyMap{ 432 pms[i] = PropertyMap{
433 "$kind": {MkProperty("Pmap")}, 433 "$kind": {MkProperty("Pmap")},
434 "Value": {MkProperty(i)}, 434 "Value": {MkProperty(i)},
435 } 435 }
436 if i == 4 { 436 if i == 4 {
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 } 681 }
682 }) 682 })
683 683
684 Convey("*[]P (map)", func() { 684 Convey("*[]P (map)", func() {
685 output := []PropertyMap(nil) 685 output := []PropertyMap(nil)
686 So(ds.GetAll(q, &output), ShouldBeNil) 686 So(ds.GetAll(q, &output), ShouldBeNil)
687 So(len(output), ShouldEqual, 5) 687 So(len(output), ShouldEqual, 5)
688 for i, o := range output { 688 for i, o := range output {
689 k, err := o.GetMeta("key") 689 k, err := o.GetMeta("key")
690 So(err, ShouldBeNil) 690 So(err, ShouldBeNil)
691 » » » » » So(k.(*Key).Last().IntID, ShouldEqual, i +1) 691 » » » » » So(k.(*Key).IntID(), ShouldEqual, i+1)
692 So(o["Value"][0].Value().(int64), Should Equal, i) 692 So(o["Value"][0].Value().(int64), Should Equal, i)
693 } 693 }
694 }) 694 })
695 695
696 Convey("*[]*P", func() { 696 Convey("*[]*P", func() {
697 output := []*FakePLS(nil) 697 output := []*FakePLS(nil)
698 So(ds.GetAll(q, &output), ShouldBeNil) 698 So(ds.GetAll(q, &output), ShouldBeNil)
699 So(len(output), ShouldEqual, 5) 699 So(len(output), ShouldEqual, 5)
700 for i, o := range output { 700 for i, o := range output {
701 So(o.gotLoaded, ShouldBeTrue) 701 So(o.gotLoaded, ShouldBeTrue)
702 So(o.IntID, ShouldEqual, i+1) 702 So(o.IntID, ShouldEqual, i+1)
703 So(o.Value, ShouldEqual, i) 703 So(o.Value, ShouldEqual, i)
704 } 704 }
705 }) 705 })
706 706
707 Convey("*[]*P (map)", func() { 707 Convey("*[]*P (map)", func() {
708 output := []*PropertyMap(nil) 708 output := []*PropertyMap(nil)
709 So(ds.GetAll(q, &output), ShouldBeNil) 709 So(ds.GetAll(q, &output), ShouldBeNil)
710 So(len(output), ShouldEqual, 5) 710 So(len(output), ShouldEqual, 5)
711 for i, op := range output { 711 for i, op := range output {
712 o := *op 712 o := *op
713 k, err := o.GetMeta("key") 713 k, err := o.GetMeta("key")
714 So(err, ShouldBeNil) 714 So(err, ShouldBeNil)
715 » » » » » So(k.(*Key).Last().IntID, ShouldEqual, i +1) 715 » » » » » So(k.(*Key).IntID(), ShouldEqual, i+1)
716 So(o["Value"][0].Value().(int64), Should Equal, i) 716 So(o["Value"][0].Value().(int64), Should Equal, i)
717 } 717 }
718 }) 718 })
719 719
720 Convey("*[]*Key", func() { 720 Convey("*[]*Key", func() {
721 output := []*Key(nil) 721 output := []*Key(nil)
722 So(ds.GetAll(q, &output), ShouldBeNil) 722 So(ds.GetAll(q, &output), ShouldBeNil)
723 So(len(output), ShouldEqual, 5) 723 So(len(output), ShouldEqual, 5)
724 for i, k := range output { 724 for i, k := range output {
725 » » » » » So(k.Last().IntID, ShouldEqual, i+1) 725 » » » » » So(k.IntID(), ShouldEqual, i+1)
726 } 726 }
727 }) 727 })
728 728
729 }) 729 })
730 }) 730 })
731 } 731 }
732 732
733 func TestRun(t *testing.T) { 733 func TestRun(t *testing.T) {
734 t.Parallel() 734 t.Parallel()
735 735
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 i++ 821 i++
822 return true 822 return true
823 }), ShouldBeNil) 823 }), ShouldBeNil)
824 }) 824 })
825 825
826 Convey("*P (map)", func() { 826 Convey("*P (map)", func() {
827 i := 0 827 i := 0
828 So(ds.Run(q, func(pm *PropertyMap, _ CursorCB) b ool { 828 So(ds.Run(q, func(pm *PropertyMap, _ CursorCB) b ool {
829 k, err := pm.GetMeta("key") 829 k, err := pm.GetMeta("key")
830 So(err, ShouldBeNil) 830 So(err, ShouldBeNil)
831 » » » » » So(k.(*Key).Last().IntID, ShouldEqual, i +1) 831 » » » » » So(k.(*Key).IntID(), ShouldEqual, i+1)
832 So((*pm)["Value"][0].Value(), ShouldEqua l, i) 832 So((*pm)["Value"][0].Value(), ShouldEqua l, i)
833 i++ 833 i++
834 return true 834 return true
835 }), ShouldBeNil) 835 }), ShouldBeNil)
836 }) 836 })
837 837
838 Convey("S", func() { 838 Convey("S", func() {
839 i := 0 839 i := 0
840 So(ds.Run(q, func(cs CommonStruct, _ CursorCB) b ool { 840 So(ds.Run(q, func(cs CommonStruct, _ CursorCB) b ool {
841 So(cs.ID, ShouldEqual, i+1) 841 So(cs.ID, ShouldEqual, i+1)
(...skipping 12 matching lines...) Expand all
854 i++ 854 i++
855 return true 855 return true
856 }), ShouldBeNil) 856 }), ShouldBeNil)
857 }) 857 })
858 858
859 Convey("P (map)", func() { 859 Convey("P (map)", func() {
860 i := 0 860 i := 0
861 So(ds.Run(q, func(pm PropertyMap, _ CursorCB) bo ol { 861 So(ds.Run(q, func(pm PropertyMap, _ CursorCB) bo ol {
862 k, err := pm.GetMeta("key") 862 k, err := pm.GetMeta("key")
863 So(err, ShouldBeNil) 863 So(err, ShouldBeNil)
864 » » » » » So(k.(*Key).Last().IntID, ShouldEqual, i +1) 864 » » » » » So(k.(*Key).IntID(), ShouldEqual, i+1)
865 So(pm["Value"][0].Value(), ShouldEqual, i) 865 So(pm["Value"][0].Value(), ShouldEqual, i)
866 i++ 866 i++
867 return true 867 return true
868 }), ShouldBeNil) 868 }), ShouldBeNil)
869 }) 869 })
870 870
871 Convey("Key", func() { 871 Convey("Key", func() {
872 i := 0 872 i := 0
873 So(ds.Run(q, func(k *Key, _ CursorCB) bool { 873 So(ds.Run(q, func(k *Key, _ CursorCB) bool {
874 » » » » » So(k.Last().IntID, ShouldEqual, i+1) 874 » » » » » So(k.IntID(), ShouldEqual, i+1)
875 i++ 875 i++
876 return true 876 return true
877 }), ShouldBeNil) 877 }), ShouldBeNil)
878 }) 878 })
879 879
880 }) 880 })
881 }) 881 })
882 } 882 }
OLDNEW
« no previous file with comments | « impl/prod/raw_datastore.go ('k') | service/datastore/key.go » ('j') | service/datastore/key.go » ('J')

Powered by Google App Engine
This is Rietveld 408576698