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

Side by Side Diff: impl/memory/memcache_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 unified diff | Download patch
« no previous file with comments | « impl/memory/memcache.go ('k') | impl/memory/taskqueue_test.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 package memory 5 package memory
6 6
7 import ( 7 import (
8 "testing" 8 "testing"
9 "time" 9 "time"
10 10
11 mcS "github.com/luci/gae/service/memcache" 11 mcS "github.com/luci/gae/service/memcache"
12 "github.com/luci/luci-go/common/clock/testclock" 12 "github.com/luci/luci-go/common/clock/testclock"
13 . "github.com/luci/luci-go/common/testing/assertions"
13 . "github.com/smartystreets/goconvey/convey" 14 . "github.com/smartystreets/goconvey/convey"
14 "golang.org/x/net/context" 15 "golang.org/x/net/context"
15 ) 16 )
16 17
17 func TestMemcache(t *testing.T) { 18 func TestMemcache(t *testing.T) {
18 t.Parallel() 19 t.Parallel()
19 20
20 Convey("memcache", t, func() { 21 Convey("memcache", t, func() {
21 now := time.Date(2015, 1, 1, 0, 0, 0, 0, time.UTC) 22 now := time.Date(2015, 1, 1, 0, 0, 0, 0, time.UTC)
22 c, tc := testclock.UseTime(context.Background(), now) 23 c, tc := testclock.UseTime(context.Background(), now)
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 testItem := &mcItem{ 95 testItem := &mcItem{
95 key: "sup", 96 key: "sup",
96 value: []byte("newp"), 97 value: []byte("newp"),
97 CasID: 2, 98 CasID: 2,
98 } 99 }
99 getItm := mc.NewItem("sup") 100 getItm := mc.NewItem("sup")
100 So(mc.Get(getItm), ShouldBeNil) 101 So(mc.Get(getItm), ShouldBeNil)
101 So(getItm, ShouldResemble, testItem) 102 So(getItm, ShouldResemble, testItem)
102 103
103 Convey("Flush works too", func() { 104 Convey("Flush works too", func() {
104 » » » » » mc.Flush() 105 » » » » » So(mc.Flush(), ShouldBeNil)
105 So(mc.Get(getItm), ShouldEqual, mcS.ErrC acheMiss) 106 So(mc.Get(getItm), ShouldEqual, mcS.ErrC acheMiss)
106 }) 107 })
107 }) 108 })
108 109
109 Convey("Increment", func() { 110 Convey("Increment", func() {
110 val, err := mc.Increment("num", 7, 2) 111 val, err := mc.Increment("num", 7, 2)
111 So(err, ShouldBeNil) 112 So(err, ShouldBeNil)
112 So(val, ShouldEqual, 9) 113 So(val, ShouldEqual, 9)
113 114
114 Convey("IncrementExisting", func() { 115 Convey("IncrementExisting", func() {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 }) 162 })
162 163
163 Convey("check that the internal implementation is sane", func() { 164 Convey("check that the internal implementation is sane", func() {
164 curTime := now 165 curTime := now
165 err := mc.Add(&mcItem{ 166 err := mc.Add(&mcItem{
166 key: "sup", 167 key: "sup",
167 value: []byte("cool"), 168 value: []byte("cool"),
168 expiration: time.Second * 2, 169 expiration: time.Second * 2,
169 }) 170 })
170 171
171 » » » mc.Get(mc.NewItem("sup")) 172 » » » So(mc.Get(mc.NewItem("sup")), ShouldBeNil)
172 » » » mc.Get(mc.NewItem("sup")) 173 » » » So(mc.Get(mc.NewItem("sup")), ShouldBeNil)
173 » » » mc.Get(mc.NewItem("sup")) 174 » » » So(mc.Get(mc.NewItem("sup")), ShouldBeNil)
174 » » » mc.Get(mc.NewItem("sup")) 175 » » » So(mc.Get(mc.NewItem("sup")), ShouldBeNil)
175 » » » mc.Get(mc.NewItem("wot")) 176 » » » So(mc.Get(mc.NewItem("wot")), ShouldErrLike, mcS.ErrCach eMiss)
176 177
177 mci := mc.Raw().(*memcacheImpl) 178 mci := mc.Raw().(*memcacheImpl)
178 179
179 So(err, ShouldBeNil) 180 So(err, ShouldBeNil)
180 stats, err := mc.Stats() 181 stats, err := mc.Stats()
181 So(err, ShouldBeNil) 182 So(err, ShouldBeNil)
182 So(stats.Items, ShouldEqual, 1) 183 So(stats.Items, ShouldEqual, 1)
183 So(stats.Bytes, ShouldEqual, 4) 184 So(stats.Bytes, ShouldEqual, 4)
184 So(stats.Hits, ShouldEqual, 4) 185 So(stats.Hits, ShouldEqual, 4)
185 So(stats.Misses, ShouldEqual, 1) 186 So(stats.Misses, ShouldEqual, 1)
(...skipping 13 matching lines...) Expand all
199 testItem := &mcItem{ 200 testItem := &mcItem{
200 key: "sup", 201 key: "sup",
201 value: []byte("cool"), 202 value: []byte("cool"),
202 CasID: 1, 203 CasID: 1,
203 } 204 }
204 So(getItm, ShouldResemble, testItem) 205 So(getItm, ShouldResemble, testItem)
205 }) 206 })
206 207
207 }) 208 })
208 } 209 }
OLDNEW
« no previous file with comments | « impl/memory/memcache.go ('k') | impl/memory/taskqueue_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698