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

Side by Side Diff: impl/dummy/dummy.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 unified diff | Download patch
« no previous file with comments | « impl/cloud/info_test.go ('k') | impl/dummy/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
1 // Copyright 2015 The LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package dummy 5 package dummy
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 "runtime" 9 "runtime"
10 "strings" 10 "strings"
11 "time" 11 "time"
12 12
13 "github.com/luci/gae/service/datastore" 13 "github.com/luci/gae/service/datastore"
14 "github.com/luci/gae/service/info" 14 "github.com/luci/gae/service/info"
15 "github.com/luci/gae/service/mail" 15 "github.com/luci/gae/service/mail"
16 "github.com/luci/gae/service/memcache" 16 "github.com/luci/gae/service/memcache"
17 "github.com/luci/gae/service/module" 17 "github.com/luci/gae/service/module"
18 "github.com/luci/gae/service/taskqueue" 18 "github.com/luci/gae/service/taskqueue"
19 "github.com/luci/gae/service/user" 19 "github.com/luci/gae/service/user"
20
20 "golang.org/x/net/context" 21 "golang.org/x/net/context"
21 ) 22 )
22 23
23 const niFmtStr = "dummy: method %s.%s is not implemented" 24 const niFmtStr = "dummy: method %s.%s is not implemented"
24 25
25 // ni returns an error whose message is an appropriate expansion of niFmtStr. 26 // ni returns an error whose message is an appropriate expansion of niFmtStr.
26 // 27 //
27 // It walks the stack to find out what interface and method it's being 28 // It walks the stack to find out what interface and method it's being
28 // called from. For example, it might return a message which looks like: 29 // called from. For example, it might return a message which looks like:
29 // dummy: method Datastore.Get is not implemented 30 // dummy: method Datastore.Get is not implemented
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 } 67 }
67 } 68 }
68 69
69 return fmt.Errorf(niFmtStr, iface, funcName) 70 return fmt.Errorf(niFmtStr, iface, funcName)
70 } 71 }
71 72
72 /////////////////////////////////// ds //////////////////////////////////// 73 /////////////////////////////////// ds ////////////////////////////////////
73 74
74 type ds struct{} 75 type ds struct{}
75 76
76 func (ds) AllocateIDs([]*datastore.Key, datastore.NewKeyCB) error { panic(ni()) } 77 func (ds) AllocateIDs([]*datastore.Key, datastore.NewKeyCB) error { panic(ni()) }
77 func (ds) PutMulti([]*datastore.Key, []datastore.PropertyMap, datastore.NewKeyCB ) error { panic(ni()) } 78 func (ds) PutMulti([]*datastore.Key, []datastore.PropertyMap, datastore.NewKeyCB ) error {
79 » panic(ni())
80 }
78 func (ds) GetMulti([]*datastore.Key, datastore.MultiMetaGetter, datastore.GetMul tiCB) error { 81 func (ds) GetMulti([]*datastore.Key, datastore.MultiMetaGetter, datastore.GetMul tiCB) error {
79 panic(ni()) 82 panic(ni())
80 } 83 }
81 func (ds) DeleteMulti([]*datastore.Key, datastore.DeleteMultiCB) error { panic(n i()) } 84 func (ds) DeleteMulti([]*datastore.Key, datastore.DeleteMultiCB) error { panic(n i()) }
82 func (ds) DecodeCursor(string) (datastore.Cursor, error) { panic(n i()) } 85 func (ds) DecodeCursor(string) (datastore.Cursor, error) { panic(n i()) }
83 func (ds) Count(*datastore.FinalizedQuery) (int64, error) { panic(n i()) } 86 func (ds) Count(*datastore.FinalizedQuery) (int64, error) { panic(n i()) }
84 func (ds) Run(*datastore.FinalizedQuery, datastore.RawRunCB) error { panic(n i()) } 87 func (ds) Run(*datastore.FinalizedQuery, datastore.RawRunCB) error { panic(n i()) }
85 func (ds) RunInTransaction(func(context.Context) error, *datastore.TransactionOp tions) error { 88 func (ds) RunInTransaction(func(context.Context) error, *datastore.TransactionOp tions) error {
86 panic(ni()) 89 panic(ni())
87 } 90 }
88 func (ds) Testable() datastore.Testable { return nil } 91 func (ds) WithoutTransaction() context.Context { panic(ni()) }
92 func (ds) CurrentTransaction() datastore.Transaction { panic(ni()) }
93
94 func (ds) GetTestable() datastore.Testable { return nil }
89 95
90 var dummyDSInst = ds{} 96 var dummyDSInst = ds{}
91 97
92 // Datastore returns a dummy datastore.RawInterface implementation suitable 98 // Datastore returns a dummy datastore.RawInterface implementation suitable
93 // for embedding. Every method panics with a message containing the name of the 99 // for embedding. Every method panics with a message containing the name of the
94 // method which was unimplemented. 100 // method which was unimplemented.
95 func Datastore() datastore.RawInterface { return dummyDSInst } 101 func Datastore() datastore.RawInterface { return dummyDSInst }
96 102
97 /////////////////////////////////// mc //////////////////////////////////// 103 /////////////////////////////////// mc ////////////////////////////////////
98 104
99 type mc struct{} 105 type mc struct{}
100 106
101 func (mc) NewItem(key string) memcache.Item { panic(ni( )) } 107 func (mc) NewItem(string) memcache.Item { panic(ni( )) }
102 func (mc) AddMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) } 108 func (mc) AddMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) }
103 func (mc) SetMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) } 109 func (mc) SetMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) }
104 func (mc) GetMulti([]string, memcache.RawItemCB) error { panic(ni( )) } 110 func (mc) GetMulti([]string, memcache.RawItemCB) error { panic(ni( )) }
105 func (mc) DeleteMulti([]string, memcache.RawCB) error { panic(ni( )) } 111 func (mc) DeleteMulti([]string, memcache.RawCB) error { panic(ni( )) }
106 func (mc) CompareAndSwapMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) } 112 func (mc) CompareAndSwapMulti([]memcache.Item, memcache.RawCB) error { panic(ni( )) }
107 func (mc) Increment(string, int64, *uint64) (uint64, error) { panic(ni( )) } 113 func (mc) Increment(string, int64, *uint64) (uint64, error) { panic(ni( )) }
108 func (mc) Flush() error { panic(ni( )) } 114 func (mc) Flush() error { panic(ni( )) }
109 func (mc) Stats() (*memcache.Statistics, error) { panic(ni( )) } 115 func (mc) Stats() (*memcache.Statistics, error) { panic(ni( )) }
110 116
111 var dummyMCInst = mc{} 117 var dummyMCInst = mc{}
112 118
113 // Memcache returns a dummy memcache.RawInterface implementation suitable for 119 // Memcache returns a dummy memcache.RawInterface implementation suitable for
114 // embedding. Every method panics with a message containing the name of the 120 // embedding. Every method panics with a message containing the name of the
115 // method which was unimplemented. 121 // method which was unimplemented.
116 func Memcache() memcache.RawInterface { return dummyMCInst } 122 func Memcache() memcache.RawInterface { return dummyMCInst }
117 123
118 /////////////////////////////////// tq //////////////////////////////////// 124 /////////////////////////////////// tq ////////////////////////////////////
119 125
120 type tq struct{} 126 type tq struct{}
121 127
122 func (tq) AddMulti([]*taskqueue.Task, string, taskqueue.RawTaskCB) error { panic (ni()) } 128 func (tq) AddMulti([]*taskqueue.Task, string, taskqueue.RawTaskCB) error { panic (ni()) }
123 func (tq) DeleteMulti([]*taskqueue.Task, string, taskqueue.RawCB) error { panic (ni()) } 129 func (tq) DeleteMulti([]*taskqueue.Task, string, taskqueue.RawCB) error { panic (ni()) }
124 func (tq) Purge(string) error { panic (ni()) } 130 func (tq) Purge(string) error { panic (ni()) }
125 func (tq) Stats([]string, taskqueue.RawStatsCB) error { panic (ni()) } 131 func (tq) Stats([]string, taskqueue.RawStatsCB) error { panic (ni()) }
126 func (tq) Testable() taskqueue.Testable { retur n nil } 132 func (tq) GetTestable() taskqueue.Testable { retur n nil }
127 133
128 var dummyTQInst = tq{} 134 var dummyTQInst = tq{}
129 135
130 // TaskQueue returns a dummy taskqueue.RawInterface implementation suitable for 136 // TaskQueue returns a dummy taskqueue.RawInterface implementation suitable for
131 // embedding. Every method panics with a message containing the name of the 137 // embedding. Every method panics with a message containing the name of the
132 // method which was unimplemented. 138 // method which was unimplemented.
133 func TaskQueue() taskqueue.RawInterface { return dummyTQInst } 139 func TaskQueue() taskqueue.RawInterface { return dummyTQInst }
134 140
135 /////////////////////////////////// i //////////////////////////////////// 141 /////////////////////////////////// i ////////////////////////////////////
136 142
137 type i struct{} 143 type i struct{}
138 144
139 func (i) AccessToken(scopes ...string) (token string, expiry time.Time, err erro r) { panic(ni()) } 145 func (i) AccessToken(...string) (token string, expiry time.Time, err error) {
140 func (i) AppID() string { return "appid" } 146 » panic(ni())
141 func (i) FullyQualifiedAppID() string { return "dummy~appid" } 147 }
142 func (i) GetNamespace() (string, bool) { return "dummy-namespace", true } 148 func (i) AppID() string { return "appid" }
143 func (i) ModuleHostname(module, version, instance string) (string, error) { panic(ni()) } 149 func (i) FullyQualifiedAppID() string { return "dummy~appid" }
144 func (i) ModuleName() string { panic(ni()) } 150 func (i) GetNamespace() string { return "dummy-namespace" }
145 func (i) DefaultVersionHostname() string { panic(ni()) } 151 func (i) ModuleHostname(module, version, instance string) (string, error) {
146 func (i) PublicCertificates() ([]info.Certificate, error) { panic(ni()) } 152 » panic(ni())
147 func (i) RequestID() string { panic(ni()) } 153 }
148 func (i) ServiceAccount() (string, error) { panic(ni()) } 154 func (i) ModuleName() string { panic (ni()) }
149 func (i) SignBytes(bytes []byte) (keyName string, signature []byte, err error) { panic(ni()) } 155 func (i) DefaultVersionHostname() string { panic (ni()) }
150 func (i) VersionID() string { panic(ni()) } 156 func (i) PublicCertificates() ([]info.Certificate, error) { panic (ni()) }
151 func (i) Namespace(namespace string) (context.Context, error) { panic(ni()) } 157 func (i) RequestID() string { panic (ni()) }
152 func (i) Datacenter() string { panic(ni()) } 158 func (i) ServiceAccount() (string, error) { panic (ni()) }
153 func (i) InstanceID() string { panic(ni()) } 159 func (i) SignBytes([]byte) (keyName string, signature []byte, err error) { panic (ni()) }
154 func (i) IsDevAppServer() bool { panic(ni()) } 160 func (i) VersionID() string { panic (ni()) }
155 func (i) ServerSoftware() string { panic(ni()) } 161 func (i) Namespace(string) (context.Context, error) { panic (ni()) }
156 func (i) IsCapabilityDisabled(err error) bool { panic(ni()) } 162 func (i) Datacenter() string { panic (ni()) }
157 func (i) IsOverQuota(err error) bool { panic(ni()) } 163 func (i) InstanceID() string { panic (ni()) }
158 func (i) IsTimeoutError(err error) bool { panic(ni()) } 164 func (i) IsDevAppServer() bool { panic (ni()) }
159 func (i) Testable() info.Testable { panic(ni()) } 165 func (i) ServerSoftware() string { panic (ni()) }
166 func (i) IsCapabilityDisabled(error) bool { panic (ni()) }
167 func (i) IsOverQuota(error) bool { panic (ni()) }
168 func (i) IsTimeoutError(error) bool { panic (ni()) }
169 func (i) GetTestable() info.Testable { panic (ni()) }
160 170
161 var dummyInfoInst = i{} 171 var dummyInfoInst = i{}
162 172
163 // Info returns a dummy info.RawInterface implementation suitable for embedding. 173 // Info returns a dummy info.RawInterface implementation suitable for embedding.
164 // Every method panics with a message containing the name of the method which 174 // Every method panics with a message containing the name of the method which
165 // was unimplemented. 175 // was unimplemented.
166 func Info() info.RawInterface { return dummyInfoInst } 176 func Info() info.RawInterface { return dummyInfoInst }
167 177
168 ////////////////////////////////////// u /////////////////////////////////////// 178 ////////////////////////////////////// u ///////////////////////////////////////
169 179
170 type u struct{} 180 type u struct{}
171 181
172 func (u) Current() *user.User { panic(ni()) } 182 func (u) Current() *user.User { panic(ni()) }
173 func (u) CurrentOAuth(...string) (*user.User, error) { panic(ni()) } 183 func (u) CurrentOAuth(...string) (*user.User, error) { panic(ni()) }
174 func (u) IsAdmin() bool { panic(ni()) } 184 func (u) IsAdmin() bool { panic(ni()) }
175 func (u) LoginURL(string) (string, error) { panic(ni()) } 185 func (u) LoginURL(string) (string, error) { panic(ni()) }
176 func (u) LoginURLFederated(string, string) (string, error) { panic(ni()) } 186 func (u) LoginURLFederated(string, string) (string, error) { panic(ni()) }
177 func (u) LogoutURL(string) (string, error) { panic(ni()) } 187 func (u) LogoutURL(string) (string, error) { panic(ni()) }
178 func (u) OAuthConsumerKey() (string, error) { panic(ni()) } 188 func (u) OAuthConsumerKey() (string, error) { panic(ni()) }
179 func (u) Testable() user.Testable { panic(ni()) } 189 func (u) GetTestable() user.Testable { panic(ni()) }
180 190
181 var dummyUserInst = u{} 191 var dummyUserInst = u{}
182 192
183 // User returns a dummy user.Interface implementation suitable for embedding. 193 // User returns a dummy user.Interface implementation suitable for embedding.
184 // Every method panics with a message containing the name of the method which 194 // Every method panics with a message containing the name of the method which
185 // was unimplemented. 195 // was unimplemented.
186 func User() user.Interface { return dummyUserInst } 196 func User() user.RawInterface { return dummyUserInst }
187 197
188 ////////////////////////////////////// m /////////////////////////////////////// 198 ////////////////////////////////////// m ///////////////////////////////////////
189 199
190 type m struct{} 200 type m struct{}
191 201
192 func (m) Send(*mail.Message) error { panic(ni()) } 202 func (m) Send(*mail.Message) error { panic(ni()) }
193 func (m) SendToAdmins(*mail.Message) error { panic(ni()) } 203 func (m) SendToAdmins(*mail.Message) error { panic(ni()) }
194 func (m) Testable() mail.Testable { panic(ni()) } 204 func (m) GetTestable() mail.Testable { panic(ni()) }
195 205
196 var dummyMailInst = m{} 206 var dummyMailInst = m{}
197 207
198 // Mail returns a dummy mail.Interface implementation suitable for embedding. 208 // Mail returns a dummy mail.Interface implementation suitable for embedding.
199 // Every method panics with a message containing the name of the method which 209 // Every method panics with a message containing the name of the method which
200 // was unimplemented. 210 // was unimplemented.
201 func Mail() mail.Interface { return dummyMailInst } 211 func Mail() mail.RawInterface { return dummyMailInst }
202 212
203 /////////////////////////////////// mod //////////////////////////////////// 213 /////////////////////////////////// mod ////////////////////////////////////
204 214
205 type mod struct{} 215 type mod struct{}
206 216
207 func (mod) List() ([]string, error) { panic( ni()) } 217 func (mod) List() ([]string, error) { panic(ni()) }
208 func (mod) NumInstances(module, version string) (int, error) { panic( ni()) } 218 func (mod) NumInstances(module, version string) (int, error) { panic(ni()) }
209 func (mod) SetNumInstances(module, version string, instances int) error { panic( ni()) } 219 func (mod) SetNumInstances(module, version string, instances int) error {
210 func (mod) Versions(module string) ([]string, error) { panic( ni()) } 220 » panic(ni())
211 func (mod) DefaultVersion(module string) (string, error) { panic( ni()) } 221 }
212 func (mod) Start(module, version string) error { panic( ni()) } 222 func (mod) Versions(module string) ([]string, error) { panic(ni()) }
213 func (mod) Stop(module, version string) error { panic( ni()) } 223 func (mod) DefaultVersion(module string) (string, error) { panic(ni()) }
224 func (mod) Start(module, version string) error { panic(ni()) }
225 func (mod) Stop(module, version string) error { panic(ni()) }
214 226
215 var dummyModuleInst = mod{} 227 var dummyModuleInst = mod{}
216 228
217 // Module returns a dummy module.Interface implementation suitable for 229 // Module returns a dummy module.Interface implementation suitable for
218 // embedding. Every method panics with a message containing the name of the 230 // embedding. Every method panics with a message containing the name of the
219 // method which was unimplemented. 231 // method which was unimplemented.
220 func Module() module.Interface { return dummyModuleInst } 232 func Module() module.RawInterface { return dummyModuleInst }
OLDNEW
« no previous file with comments | « impl/cloud/info_test.go ('k') | impl/dummy/dummy_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698