Skip to content

Commit 5226f07

Browse files
committed
fix: failing cache tests
1 parent 50a0a34 commit 5226f07

File tree

1 file changed

+76
-97
lines changed

1 file changed

+76
-97
lines changed

pkg/http/cache_test.go

Lines changed: 76 additions & 97 deletions
Original file line numberDiff line numberDiff line change
@@ -91,226 +91,205 @@ func TestCacheHandler(t *testing.T) {
9191
}{
9292
{
9393
name: "cacheLookup error should still forward request to downstream and store response",
94-
handler: handler{
95-
cfg: config.CacheConfig{
96-
DownstreamHost: mustURL(t, downstreamServer.URL),
97-
},
98-
cacher: func() Cacher {
94+
handler: newCacheHandler(
95+
func() Cacher {
9996
mock := NewMockCacher(ctrl)
10097
mock.EXPECT().LookUp(gomock.Any(), gomock.Any()).Return(nil, errors.New("test-error"))
10198
mock.EXPECT().Store(gomock.Any(), gomock.Any(), gomock.Any())
102-
10399
return mock
104100
}(),
105-
metricsCollector: func() MetricsCollector {
101+
func() MetricsCollector {
106102
mock := NewMockMetricsCollector(ctrl)
107103
mock.EXPECT().CacheMiss("GET", proxied)
108-
109104
return mock
110105
}(),
111-
},
112-
106+
nil,
107+
config.CacheConfig{
108+
DownstreamHost: mustURL(t, downstreamServer.URL),
109+
},
110+
),
113111
req: mustRequest(t, endpoint, ""),
114112
want: proxied,
115113
},
116114
{
117115
name: "cache miss",
118-
handler: handler{
119-
cfg: config.CacheConfig{
120-
DownstreamHost: mustURL(t, downstreamServer.URL),
121-
},
122-
cacher: func() Cacher {
116+
handler: newCacheHandler(
117+
func() Cacher {
123118
mock := NewMockCacher(ctrl)
124119
mock.EXPECT().LookUp(gomock.Any(), gomock.Any()).Return(nil, nil).Times(1)
125120
mock.EXPECT().Store(gomock.Any(), gomock.Any(), newResponseMatcher(proxied, nil)).Return(nil).Times(1)
126-
127121
return mock
128122
}(),
129-
metricsCollector: func() MetricsCollector {
123+
func() MetricsCollector {
130124
mock := NewMockMetricsCollector(ctrl)
131125
mock.EXPECT().CacheMiss("GET", proxied).Times(1)
132-
133126
return mock
134127
}(),
135-
},
136-
128+
nil,
129+
config.CacheConfig{
130+
DownstreamHost: mustURL(t, downstreamServer.URL),
131+
},
132+
),
137133
req: mustRequest(t, endpoint, ""),
138134
want: proxied,
139135
},
140136
{
141137
name: "websockets will not be stored in cache",
142-
handler: handler{
143-
cfg: config.CacheConfig{
144-
DownstreamHost: mustURL(t, downstreamServer.URL),
145-
},
146-
cacher: func() Cacher {
138+
handler: newCacheHandler(
139+
func() Cacher {
147140
mock := NewMockCacher(ctrl)
148141
mock.EXPECT().LookUp(nil, nil).Times(0)
149142
mock.EXPECT().Store(nil, nil, nil).Times(0)
150-
151143
return mock
152144
}(),
153-
metricsCollector: func() MetricsCollector {
145+
func() MetricsCollector {
154146
mock := NewMockMetricsCollector(ctrl)
155147
mock.EXPECT().CacheMiss(nil, nil).Times(0)
156-
157148
return mock
158149
}(),
159-
},
160-
150+
nil,
151+
config.CacheConfig{
152+
DownstreamHost: mustURL(t, downstreamServer.URL),
153+
},
154+
),
161155
req: webSocketReq,
162156
want: proxied,
163157
},
164158
{
165159
name: "POST requests will not be stored in cache",
166-
handler: handler{
167-
cfg: config.CacheConfig{
168-
DownstreamHost: mustURL(t, downstreamServer.URL),
169-
},
170-
cacher: func() Cacher {
160+
handler: newCacheHandler(
161+
func() Cacher {
171162
mock := NewMockCacher(ctrl)
172163
mock.EXPECT().LookUp(nil, nil).Times(0)
173164
mock.EXPECT().Store(nil, nil, nil).Times(0)
174-
175165
return mock
176166
}(),
177-
metricsCollector: func() MetricsCollector {
167+
func() MetricsCollector {
178168
mock := NewMockMetricsCollector(ctrl)
179169
mock.EXPECT().CacheMiss(nil, nil).Times(0)
180-
181170
return mock
182171
}(),
183-
},
184-
172+
nil,
173+
config.CacheConfig{
174+
DownstreamHost: mustURL(t, downstreamServer.URL),
175+
},
176+
),
185177
req: mustRequest(t, endpoint, "POST"),
186178
want: proxied,
187179
},
188180
{
189181
name: "PUT requests will not be stored in cache",
190-
handler: handler{
191-
cfg: config.CacheConfig{
192-
DownstreamHost: mustURL(t, downstreamServer.URL),
193-
},
194-
cacher: func() Cacher {
182+
handler: newCacheHandler(
183+
func() Cacher {
195184
mock := NewMockCacher(ctrl)
196185
mock.EXPECT().LookUp(nil, nil).Times(0)
197186
mock.EXPECT().Store(nil, nil, nil).Times(0)
198-
199187
return mock
200188
}(),
201-
metricsCollector: func() MetricsCollector {
189+
func() MetricsCollector {
202190
mock := NewMockMetricsCollector(ctrl)
203191
mock.EXPECT().CacheMiss(nil, nil).Times(0)
204-
205192
return mock
206193
}(),
207-
},
208-
194+
nil,
195+
config.CacheConfig{
196+
DownstreamHost: mustURL(t, downstreamServer.URL),
197+
},
198+
),
209199
req: mustRequest(t, endpoint, "PUT"),
210200
want: proxied,
211201
},
212202
{
213203
name: "PATCH requests will not be stored in cache",
214-
handler: handler{
215-
cfg: config.CacheConfig{
216-
DownstreamHost: mustURL(t, downstreamServer.URL),
217-
},
218-
cacher: func() Cacher {
204+
handler: newCacheHandler(
205+
func() Cacher {
219206
mock := NewMockCacher(ctrl)
220207
mock.EXPECT().LookUp(nil, nil).Times(0)
221208
mock.EXPECT().Store(nil, nil, nil).Times(0)
222-
223209
return mock
224210
}(),
225-
metricsCollector: func() MetricsCollector {
211+
func() MetricsCollector {
226212
mock := NewMockMetricsCollector(ctrl)
227213
mock.EXPECT().CacheMiss(nil, nil).Times(0)
228-
229214
return mock
230215
}(),
231-
},
232-
216+
nil,
217+
config.CacheConfig{
218+
DownstreamHost: mustURL(t, downstreamServer.URL),
219+
},
220+
),
233221
req: mustRequest(t, endpoint, "PATCH"),
234222
want: proxied,
235223
},
236224
{
237225
name: "DELETE requests will not be stored in cache",
238-
handler: handler{
239-
cfg: config.CacheConfig{
240-
DownstreamHost: mustURL(t, downstreamServer.URL),
241-
},
242-
cacher: func() Cacher {
226+
handler: newCacheHandler(
227+
func() Cacher {
243228
mock := NewMockCacher(ctrl)
244229
mock.EXPECT().LookUp(nil, nil).Times(0)
245230
mock.EXPECT().Store(nil, nil, nil).Times(0)
246-
247231
return mock
248232
}(),
249-
metricsCollector: func() MetricsCollector {
233+
func() MetricsCollector {
250234
mock := NewMockMetricsCollector(ctrl)
251235
mock.EXPECT().CacheMiss(nil, nil).Times(0)
252-
253236
return mock
254237
}(),
255-
},
256-
238+
nil,
239+
config.CacheConfig{
240+
DownstreamHost: mustURL(t, downstreamServer.URL),
241+
},
242+
),
257243
req: mustRequest(t, endpoint, "DELETE"),
258244
want: proxied,
259245
},
260246
{
261247
name: "statusCode > 500 from downstream will not be stored in cache",
262-
handler: handler{
263-
cfg: config.CacheConfig{
264-
DownstreamHost: mustURL(t, downstreamServerNok.URL),
265-
},
266-
cacher: func() Cacher {
248+
handler: newCacheHandler(
249+
func() Cacher {
267250
mock := NewMockCacher(ctrl)
268251
mock.EXPECT().LookUp(gomock.Any(), gomock.Any()).Return(nil, nil).Times(1)
269252
mock.EXPECT().Store(nil, nil, nil).Times(0)
270-
271253
return mock
272254
}(),
273-
metricsCollector: func() MetricsCollector {
255+
func() MetricsCollector {
274256
mock := NewMockMetricsCollector(ctrl)
275257
mock.EXPECT().CacheMiss("GET", http.StatusInternalServerError).Times(1)
276-
277258
return mock
278259
}(),
279-
},
280-
260+
nil,
261+
config.CacheConfig{
262+
DownstreamHost: mustURL(t, downstreamServerNok.URL),
263+
},
264+
),
281265
req: mustRequest(t, "/status/500?q=1", ""),
282266
want: http.StatusInternalServerError,
283267
},
284268
{
285269
name: "cache hit",
286-
handler: handler{
287-
cfg: config.CacheConfig{
288-
DownstreamHost: mustURL(t, downstreamServer.URL),
289-
},
290-
worker: func() Worker {
291-
mock := NewMockWorker(ctrl)
292-
mock.EXPECT().Start(gomock.Any(), gomock.Any())
293-
294-
return mock
295-
}(),
296-
cacher: func() Cacher {
270+
handler: newCacheHandler(
271+
func() Cacher {
297272
mock := NewMockCacher(ctrl)
298273
mock.EXPECT().LookUp(gomock.Any(), gomock.Any()).Return(&model.Response{
299274
Status: http.StatusOK,
300275
Body: []byte("hello"),
301276
}, nil)
302-
303277
return mock
304278
}(),
305-
metricsCollector: func() MetricsCollector {
279+
func() MetricsCollector {
306280
mock := NewMockMetricsCollector(ctrl)
307281
mock.EXPECT().CacheHit("GET", http.StatusOK)
308-
// mock.EXPECT().CacheMiss("GET", proxied)
309-
310282
return mock
311283
}(),
312-
},
313-
284+
func() Worker {
285+
mock := NewMockWorker(ctrl)
286+
mock.EXPECT().Start(gomock.Any(), gomock.Any())
287+
return mock
288+
}(),
289+
config.CacheConfig{
290+
DownstreamHost: mustURL(t, downstreamServer.URL),
291+
},
292+
),
314293
req: mustRequest(t, endpoint, ""),
315294
want: http.StatusOK,
316295
},

0 commit comments

Comments
 (0)