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

Side by Side Diff: service/rawdatastore/context_test.go

Issue 1259593005: Add 'user friendly' datastore API. (Closed) Base URL: https://github.com/luci/gae.git@master
Patch Set: 100% coverage of new code 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 unified diff | Download patch
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 package rawdatastore
6
7 import (
8 "testing"
9
10 "github.com/luci/gae/service/info"
11 . "github.com/smartystreets/goconvey/convey"
12 "golang.org/x/net/context"
13 )
14
15 type fakeInfo struct{ info.Interface }
16
17 func (fakeInfo) GetNamespace() string { return "ns" }
18 func (fakeInfo) AppID() string { return "aid" }
19
20 type fakeService struct{ Interface }
21
22 type fakeFilt struct{ Interface }
23
24 func (fakeFilt) NewKey(kind, stringID string, intID int64, parent Key) Key {
25 return NewKey("aid", "ns", kind, stringID, intID, parent)
26 }
27
28 func TestServices(t *testing.T) {
29 t.Parallel()
30
31 Convey("Test service interfaces", t, func() {
32 c := context.Background()
33 Convey("without adding anything", func() {
34 So(Get(c), ShouldBeNil)
35 })
36
37 Convey("adding a basic implementation", func() {
38 c = Set(info.Set(c, fakeInfo{}), fakeService{})
39
40 Convey("lets you pull them back out", func() {
41 So(Get(c), ShouldResemble, &checkFilter{fakeServ ice{}, "aid", "ns"})
42 })
43
44 Convey("and lets you add filters", func() {
45 c = AddFilters(c, func(ic context.Context, rds I nterface) Interface {
46 return fakeFilt{rds}
47 })
48
49 k := Get(c).NewKey("Kind", "", 1, nil)
50 So(KeysEqual(k, NewKey("aid", "ns", "Kind", "", 1, nil)), ShouldBeTrue)
51 })
52 })
53 Convey("adding zero filters does nothing", func() {
54 So(AddFilters(c), ShouldEqual, c)
55 })
56 })
57 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698