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

Side by Side Diff: go/src/infra/gae/libs/gae/dummy.go

Issue 1230303003: Revert "Refactor current GAE abstraction library to be free of the SDK*" (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 5 years, 5 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 | « go/src/infra/gae/libs/gae/doc.go ('k') | go/src/infra/gae/libs/gae/dummy_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
(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 gae
6
7 import (
8 "fmt"
9 "runtime"
10 "strings"
11 "time"
12
13 "golang.org/x/net/context"
14 )
15
16 const niFmtStr = "gae: method %s.%s is not implemented"
17
18 func ni() error {
19 iface := "UNKNOWN"
20 funcName := "UNKNOWN"
21
22 if ptr, _, _, ok := runtime.Caller(1); ok {
23 f := runtime.FuncForPC(ptr)
24 n := f.Name()
25 if n != "" {
26 parts := strings.Split(n, ".")
27 if len(parts) == 3 {
28 switch parts[1][len("dummy"):] {
29 case "RDS":
30 iface = "RawDatastore"
31 case "MC":
32 iface = "Memcache"
33 case "TQ":
34 iface = "TaskQueue"
35 case "GI":
36 iface = "GlobalInformation"
37 case "QY":
38 iface = "Query"
39 }
40 funcName = parts[2]
41 }
42 }
43 }
44
45 return fmt.Errorf(niFmtStr, iface, funcName)
46 }
47
48 /////////////////////////////////// dummyRDS /////////////////////////////////// /
49
50 type dummyRDS struct{}
51
52 func (dummyRDS) NewKey(string, string, int64, DSKey) DSKey { panic( ni()) }
53 func (dummyRDS) DecodeKey(string) (DSKey, error) { panic( ni()) }
54 func (dummyRDS) KeyFromTokens(a, n string, t []DSKeyTok) (DSKey, error) { panic( ni()) }
55 func (dummyRDS) Put(DSKey, interface{}) (DSKey, error) { panic( ni()) }
56 func (dummyRDS) Get(DSKey, interface{}) error { panic( ni()) }
57 func (dummyRDS) Delete(DSKey) error { panic( ni()) }
58 func (dummyRDS) PutMulti([]DSKey, interface{}) ([]DSKey, error) { panic( ni()) }
59 func (dummyRDS) GetMulti([]DSKey, interface{}) error { panic( ni()) }
60 func (dummyRDS) DeleteMulti([]DSKey) error { panic( ni()) }
61 func (dummyRDS) NewQuery(string) DSQuery { panic( ni()) }
62 func (dummyRDS) Run(DSQuery) DSIterator { panic( ni()) }
63 func (dummyRDS) GetAll(DSQuery, interface{}) ([]DSKey, error) { panic( ni()) }
64 func (dummyRDS) Count(DSQuery) (int, error) { panic( ni()) }
65 func (dummyRDS) RunInTransaction(func(context.Context) error, *DSTransactionOpti ons) error {
66 panic(ni())
67 }
68
69 var dummyRDSInst = dummyRDS{}
70
71 // DummyRDS returns a dummy RawDatastore implementation suitable for embedding.
72 // Every method panics with a message containing the name of the method which
73 // was unimplemented.
74 func DummyRDS() RawDatastore { return dummyRDSInst }
75
76 /////////////////////////////////// dummyMC ////////////////////////////////////
77
78 type dummyMC struct{}
79
80 func (dummyMC) Add(MCItem) error { panic(ni()) }
81 func (dummyMC) NewItem(key string) MCItem { panic(ni()) }
82 func (dummyMC) Set(MCItem) error { panic(ni()) }
83 func (dummyMC) Get(string) (MCItem, error) { panic(ni()) }
84 func (dummyMC) Delete(string) error { panic(ni()) }
85 func (dummyMC) CompareAndSwap(MCItem) error { panic(ni()) }
86 func (dummyMC) AddMulti([]MCItem) error { panic(ni()) }
87 func (dummyMC) SetMulti([]MCItem) error { panic(ni()) }
88 func (dummyMC) GetMulti([]string) (map[string]MCItem, error) { panic(ni()) }
89 func (dummyMC) DeleteMulti([]string) error { panic(ni()) }
90 func (dummyMC) CompareAndSwapMulti([]MCItem) error { panic(ni()) }
91 func (dummyMC) Increment(string, int64, uint64) (uint64, error) { panic(ni()) }
92 func (dummyMC) IncrementExisting(string, int64) (uint64, error) { panic(ni()) }
93 func (dummyMC) Flush() error { panic(ni()) }
94 func (dummyMC) Stats() (*MCStatistics, error) { panic(ni()) }
95
96 var dummyMCInst = dummyMC{}
97
98 // DummyMC returns a dummy Memcache implementation suitable for embedding.
99 // Every method panics with a message containing the name of the method which
100 // was unimplemented.
101 func DummyMC() Memcache { return dummyMCInst }
102
103 /////////////////////////////////// dummyTQ ////////////////////////////////////
104
105 type dummyTQ struct{}
106
107 func (dummyTQ) Add(*TQTask, string) (*TQTask, error) { panic(n i()) }
108 func (dummyTQ) Delete(*TQTask, string) error { panic(n i()) }
109 func (dummyTQ) AddMulti([]*TQTask, string) ([]*TQTask, error) { panic(n i()) }
110 func (dummyTQ) DeleteMulti([]*TQTask, string) error { panic(n i()) }
111 func (dummyTQ) Lease(int, string, int) ([]*TQTask, error) { panic(n i()) }
112 func (dummyTQ) LeaseByTag(int, string, int, string) ([]*TQTask, error) { panic(n i()) }
113 func (dummyTQ) ModifyLease(*TQTask, string, int) error { panic(n i()) }
114 func (dummyTQ) Purge(string) error { panic(n i()) }
115 func (dummyTQ) QueueStats([]string) ([]TQStatistics, error) { panic(n i()) }
116
117 var dummyTQInst = dummyTQ{}
118
119 // DummyTQ returns a dummy TaskQueue implementation suitable for embedding.
120 // Every method panics with a message containing the name of the method which
121 // was unimplemented.
122 func DummyTQ() TaskQueue { return dummyTQInst }
123
124 /////////////////////////////////// dummyQY ////////////////////////////////////
125
126 type dummyQY struct{}
127
128 func (dummyQY) Ancestor(ancestor DSKey) DSQuery { panic(ni()) }
129 func (dummyQY) Distinct() DSQuery { panic(ni()) }
130 func (dummyQY) End(c DSCursor) DSQuery { panic(ni()) }
131 func (dummyQY) EventualConsistency() DSQuery { panic(ni()) }
132 func (dummyQY) Filter(filterStr string, value interface{}) DSQuery { panic(ni()) }
133 func (dummyQY) KeysOnly() DSQuery { panic(ni()) }
134 func (dummyQY) Limit(limit int) DSQuery { panic(ni()) }
135 func (dummyQY) Offset(offset int) DSQuery { panic(ni()) }
136 func (dummyQY) Order(fieldName string) DSQuery { panic(ni()) }
137 func (dummyQY) Project(fieldNames ...string) DSQuery { panic(ni()) }
138 func (dummyQY) Start(c DSCursor) DSQuery { panic(ni()) }
139
140 var dummyQYInst = dummyQY{}
141
142 // DummyQY returns a dummy DSQuery implementation suitable for embedding.
143 // Every method panics with a message containing the name of the method which
144 // was unimplemented.
145 func DummyQY() DSQuery { return dummyQYInst }
146
147 /////////////////////////////////// dummyGI ////////////////////////////////////
148
149 type dummyGI struct{}
150
151 func (dummyGI) AccessToken(scopes ...string) (token string, expiry time.Time, er r error) { panic(ni()) }
152 func (dummyGI) AppID() string { panic(ni()) }
153 func (dummyGI) ModuleHostname(module, version, instance string) (string, error) { panic(ni()) }
154 func (dummyGI) ModuleName() string { panic(ni()) }
155 func (dummyGI) DefaultVersionHostname() string { panic(ni()) }
156 func (dummyGI) PublicCertificates() ([]GICertificate, error) { panic(ni()) }
157 func (dummyGI) RequestID() string { panic(ni()) }
158 func (dummyGI) ServiceAccount() (string, error) { panic(ni()) }
159 func (dummyGI) SignBytes(bytes []byte) (keyName string, signature []byte, err er ror) { panic(ni()) }
160 func (dummyGI) VersionID() string { panic(ni()) }
161 func (dummyGI) Namespace(namespace string) (context.Context, error) { panic(ni()) }
162 func (dummyGI) Datacenter() string { panic(ni()) }
163 func (dummyGI) InstanceID() string { panic(ni()) }
164 func (dummyGI) IsDevAppServer() bool { panic(ni()) }
165 func (dummyGI) ServerSoftware() string { panic(ni()) }
166 func (dummyGI) IsCapabilityDisabled(err error) bool { panic(ni()) }
167 func (dummyGI) IsOverQuota(err error) bool { panic(ni()) }
168 func (dummyGI) IsTimeoutError(err error) bool { panic(ni()) }
169
170 var dummyGIInst = dummyGI{}
171
172 // DummyGI returns a dummy GlobalInfo implementation suitable for embedding.
173 // Every method panics with a message containing the name of the method which
174 // was unimplemented.
175 func DummyGI() GlobalInfo { return dummyGIInst }
OLDNEW
« no previous file with comments | « go/src/infra/gae/libs/gae/doc.go ('k') | go/src/infra/gae/libs/gae/dummy_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698