-
-
Notifications
You must be signed in to change notification settings - Fork 369
/
image_mock.go
345 lines (320 loc) · 8.15 KB
/
image_mock.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
// Code generated by moq; DO NOT EDIT.
// github.com/matryer/moq
package image
import (
"context"
"sync"
"time"
)
// Ensure, that StoreMock does implement Store.
// If this is not the case, regenerate this file with moq.
var _ Store = &StoreMock{}
// StoreMock is a mock implementation of Store.
//
// func TestSomethingThatUsesStore(t *testing.T) {
//
// // make and configure a mocked Store
// mockedStore := &StoreMock{
// CleanupFunc: func(ctx context.Context, ttl time.Duration) error {
// panic("mock out the Cleanup method")
// },
// CommitFunc: func(id string) error {
// panic("mock out the Commit method")
// },
// DeleteFunc: func(id string) error {
// panic("mock out the Delete method")
// },
// InfoFunc: func() (StoreInfo, error) {
// panic("mock out the Info method")
// },
// LoadFunc: func(id string) ([]byte, error) {
// panic("mock out the Load method")
// },
// ResetCleanupTimerFunc: func(id string) error {
// panic("mock out the ResetCleanupTimer method")
// },
// SaveFunc: func(id string, img []byte) error {
// panic("mock out the Save method")
// },
// }
//
// // use mockedStore in code that requires Store
// // and then make assertions.
//
// }
type StoreMock struct {
// CleanupFunc mocks the Cleanup method.
CleanupFunc func(ctx context.Context, ttl time.Duration) error
// CommitFunc mocks the Commit method.
CommitFunc func(id string) error
// DeleteFunc mocks the Delete method.
DeleteFunc func(id string) error
// InfoFunc mocks the Info method.
InfoFunc func() (StoreInfo, error)
// LoadFunc mocks the Load method.
LoadFunc func(id string) ([]byte, error)
// ResetCleanupTimerFunc mocks the ResetCleanupTimer method.
ResetCleanupTimerFunc func(id string) error
// SaveFunc mocks the Save method.
SaveFunc func(id string, img []byte) error
// calls tracks calls to the methods.
calls struct {
// Cleanup holds details about calls to the Cleanup method.
Cleanup []struct {
// Ctx is the ctx argument value.
Ctx context.Context
// TTL is the ttl argument value.
TTL time.Duration
}
// Commit holds details about calls to the Commit method.
Commit []struct {
// ID is the id argument value.
ID string
}
// Delete holds details about calls to the Delete method.
Delete []struct {
// ID is the id argument value.
ID string
}
// Info holds details about calls to the Info method.
Info []struct {
}
// Load holds details about calls to the Load method.
Load []struct {
// ID is the id argument value.
ID string
}
// ResetCleanupTimer holds details about calls to the ResetCleanupTimer method.
ResetCleanupTimer []struct {
// ID is the id argument value.
ID string
}
// Save holds details about calls to the Save method.
Save []struct {
// ID is the id argument value.
ID string
// Img is the img argument value.
Img []byte
}
}
lockCleanup sync.RWMutex
lockCommit sync.RWMutex
lockDelete sync.RWMutex
lockInfo sync.RWMutex
lockLoad sync.RWMutex
lockResetCleanupTimer sync.RWMutex
lockSave sync.RWMutex
}
// Cleanup calls CleanupFunc.
func (mock *StoreMock) Cleanup(ctx context.Context, ttl time.Duration) error {
if mock.CleanupFunc == nil {
panic("StoreMock.CleanupFunc: method is nil but Store.Cleanup was just called")
}
callInfo := struct {
Ctx context.Context
TTL time.Duration
}{
Ctx: ctx,
TTL: ttl,
}
mock.lockCleanup.Lock()
mock.calls.Cleanup = append(mock.calls.Cleanup, callInfo)
mock.lockCleanup.Unlock()
return mock.CleanupFunc(ctx, ttl)
}
// CleanupCalls gets all the calls that were made to Cleanup.
// Check the length with:
//
// len(mockedStore.CleanupCalls())
func (mock *StoreMock) CleanupCalls() []struct {
Ctx context.Context
TTL time.Duration
} {
var calls []struct {
Ctx context.Context
TTL time.Duration
}
mock.lockCleanup.RLock()
calls = mock.calls.Cleanup
mock.lockCleanup.RUnlock()
return calls
}
// Commit calls CommitFunc.
func (mock *StoreMock) Commit(id string) error {
if mock.CommitFunc == nil {
panic("StoreMock.CommitFunc: method is nil but Store.Commit was just called")
}
callInfo := struct {
ID string
}{
ID: id,
}
mock.lockCommit.Lock()
mock.calls.Commit = append(mock.calls.Commit, callInfo)
mock.lockCommit.Unlock()
return mock.CommitFunc(id)
}
// CommitCalls gets all the calls that were made to Commit.
// Check the length with:
//
// len(mockedStore.CommitCalls())
func (mock *StoreMock) CommitCalls() []struct {
ID string
} {
var calls []struct {
ID string
}
mock.lockCommit.RLock()
calls = mock.calls.Commit
mock.lockCommit.RUnlock()
return calls
}
// Delete calls DeleteFunc.
func (mock *StoreMock) Delete(id string) error {
if mock.DeleteFunc == nil {
panic("StoreMock.DeleteFunc: method is nil but Store.Delete was just called")
}
callInfo := struct {
ID string
}{
ID: id,
}
mock.lockDelete.Lock()
mock.calls.Delete = append(mock.calls.Delete, callInfo)
mock.lockDelete.Unlock()
return mock.DeleteFunc(id)
}
// DeleteCalls gets all the calls that were made to Delete.
// Check the length with:
//
// len(mockedStore.DeleteCalls())
func (mock *StoreMock) DeleteCalls() []struct {
ID string
} {
var calls []struct {
ID string
}
mock.lockDelete.RLock()
calls = mock.calls.Delete
mock.lockDelete.RUnlock()
return calls
}
// Info calls InfoFunc.
func (mock *StoreMock) Info() (StoreInfo, error) {
if mock.InfoFunc == nil {
panic("StoreMock.InfoFunc: method is nil but Store.Info was just called")
}
callInfo := struct {
}{}
mock.lockInfo.Lock()
mock.calls.Info = append(mock.calls.Info, callInfo)
mock.lockInfo.Unlock()
return mock.InfoFunc()
}
// InfoCalls gets all the calls that were made to Info.
// Check the length with:
//
// len(mockedStore.InfoCalls())
func (mock *StoreMock) InfoCalls() []struct {
} {
var calls []struct {
}
mock.lockInfo.RLock()
calls = mock.calls.Info
mock.lockInfo.RUnlock()
return calls
}
// Load calls LoadFunc.
func (mock *StoreMock) Load(id string) ([]byte, error) {
if mock.LoadFunc == nil {
panic("StoreMock.LoadFunc: method is nil but Store.Load was just called")
}
callInfo := struct {
ID string
}{
ID: id,
}
mock.lockLoad.Lock()
mock.calls.Load = append(mock.calls.Load, callInfo)
mock.lockLoad.Unlock()
return mock.LoadFunc(id)
}
// LoadCalls gets all the calls that were made to Load.
// Check the length with:
//
// len(mockedStore.LoadCalls())
func (mock *StoreMock) LoadCalls() []struct {
ID string
} {
var calls []struct {
ID string
}
mock.lockLoad.RLock()
calls = mock.calls.Load
mock.lockLoad.RUnlock()
return calls
}
// ResetCleanupTimer calls ResetCleanupTimerFunc.
func (mock *StoreMock) ResetCleanupTimer(id string) error {
if mock.ResetCleanupTimerFunc == nil {
panic("StoreMock.ResetCleanupTimerFunc: method is nil but Store.ResetCleanupTimer was just called")
}
callInfo := struct {
ID string
}{
ID: id,
}
mock.lockResetCleanupTimer.Lock()
mock.calls.ResetCleanupTimer = append(mock.calls.ResetCleanupTimer, callInfo)
mock.lockResetCleanupTimer.Unlock()
return mock.ResetCleanupTimerFunc(id)
}
// ResetCleanupTimerCalls gets all the calls that were made to ResetCleanupTimer.
// Check the length with:
//
// len(mockedStore.ResetCleanupTimerCalls())
func (mock *StoreMock) ResetCleanupTimerCalls() []struct {
ID string
} {
var calls []struct {
ID string
}
mock.lockResetCleanupTimer.RLock()
calls = mock.calls.ResetCleanupTimer
mock.lockResetCleanupTimer.RUnlock()
return calls
}
// Save calls SaveFunc.
func (mock *StoreMock) Save(id string, img []byte) error {
if mock.SaveFunc == nil {
panic("StoreMock.SaveFunc: method is nil but Store.Save was just called")
}
callInfo := struct {
ID string
Img []byte
}{
ID: id,
Img: img,
}
mock.lockSave.Lock()
mock.calls.Save = append(mock.calls.Save, callInfo)
mock.lockSave.Unlock()
return mock.SaveFunc(id, img)
}
// SaveCalls gets all the calls that were made to Save.
// Check the length with:
//
// len(mockedStore.SaveCalls())
func (mock *StoreMock) SaveCalls() []struct {
ID string
Img []byte
} {
var calls []struct {
ID string
Img []byte
}
mock.lockSave.RLock()
calls = mock.calls.Save
mock.lockSave.RUnlock()
return calls
}