@@ -110,6 +110,23 @@ void main() {
110110 await store.getFile (fileUrl);
111111 expect (await store.getFileFromMemory (fileUrl), isNotNull);
112112 });
113+
114+ test (
115+ 'Store.memoryCacheContainsKey should return true if the key is present in the memory cache' ,
116+ () async {
117+ var config = createTestConfig ();
118+ var store = CacheStore (config);
119+
120+ var cacheObject = CacheObject (
121+ 'baseflow.com/test.png' ,
122+ relativePath: 'testimage.png' ,
123+ validTill: clock.now ().add (const Duration (days: 7 )),
124+ );
125+ await store.putFile (cacheObject);
126+
127+ expect (store.memoryCacheContainsKey ('baseflow.com/test.png' ), true );
128+ expect (store.memoryCacheContainsKey ('unseen-file' ), false );
129+ });
113130 });
114131
115132 group ('Storing files in store' , () {
@@ -127,9 +144,7 @@ void main() {
127144 verify (config.repo.updateOrInsert (cacheObject)).called (1 );
128145 });
129146
130- test (
131- 'Store should store fileinfo in repo and id should be available afterwards' ,
132- () async {
147+ test ('Store should store fileinfo in repo and id should be available afterwards' , () async {
133148 var config = createTestConfig ();
134149
135150 var cacheObject = CacheObject (
@@ -174,8 +189,7 @@ void main() {
174189 );
175190 await store.removeCachedFile (cacheObject);
176191
177- verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id))))
178- .called (1 );
192+ verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id)))).called (1 );
179193 });
180194
181195 test ('Store should remove file over capacity' , () async {
@@ -191,20 +205,16 @@ void main() {
191205 );
192206 await config.returnsFile ('testimage.png' );
193207
194- when (config.mockRepo.getObjectsOverCapacity (any))
195- .thenAnswer ((_) => Future .value ([cacheObject]));
196- when (config.mockRepo.getOldObjects (any))
197- .thenAnswer ((_) => Future .value ([]));
198- when (config.mockRepo.get ('baseflow.com/test.png' ))
199- .thenAnswer ((_) => Future .value (cacheObject));
208+ when (config.mockRepo.getObjectsOverCapacity (any)).thenAnswer ((_) => Future .value ([cacheObject]));
209+ when (config.mockRepo.getOldObjects (any)).thenAnswer ((_) => Future .value ([]));
210+ when (config.mockRepo.get ('baseflow.com/test.png' )).thenAnswer ((_) => Future .value (cacheObject));
200211
201212 expect (await store.getFile ('baseflow.com/test.png' ), isNotNull);
202213
203214 await untilCalled (config.mockRepo.deleteAll (any));
204215
205216 verify (config.mockRepo.getObjectsOverCapacity (any)).called (1 );
206- verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id))))
207- .called (1 );
217+ verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id)))).called (1 );
208218 });
209219
210220 test ('Store should remove file over that are too old' , () async {
@@ -220,20 +230,16 @@ void main() {
220230 validTill: clock.now ().add (const Duration (days: 7 )),
221231 );
222232
223- when (config.mockRepo.getObjectsOverCapacity (any))
224- .thenAnswer ((_) => Future .value ([]));
225- when (config.mockRepo.getOldObjects (any))
226- .thenAnswer ((_) => Future .value ([cacheObject]));
227- when (config.mockRepo.get ('baseflow.com/test.png' ))
228- .thenAnswer ((_) => Future .value (cacheObject));
233+ when (config.mockRepo.getObjectsOverCapacity (any)).thenAnswer ((_) => Future .value ([]));
234+ when (config.mockRepo.getOldObjects (any)).thenAnswer ((_) => Future .value ([cacheObject]));
235+ when (config.mockRepo.get ('baseflow.com/test.png' )).thenAnswer ((_) => Future .value (cacheObject));
229236
230237 expect (await store.getFile ('baseflow.com/test.png' ), isNotNull);
231238
232239 await untilCalled (config.mockRepo.deleteAll (any));
233240
234241 verify (config.mockRepo.getOldObjects (any)).called (1 );
235- verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id))))
236- .called (1 );
242+ verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id)))).called (1 );
237243 });
238244
239245 test ('Store should remove file old and over capacity' , () async {
@@ -249,12 +255,9 @@ void main() {
249255 validTill: clock.now ().add (const Duration (days: 7 )),
250256 );
251257
252- when (config.mockRepo.getObjectsOverCapacity (any))
253- .thenAnswer ((_) => Future .value ([cacheObject]));
254- when (config.mockRepo.getOldObjects (any))
255- .thenAnswer ((_) => Future .value ([cacheObject]));
256- when (config.mockRepo.get ('baseflow.com/test.png' ))
257- .thenAnswer ((_) => Future .value (cacheObject));
258+ when (config.mockRepo.getObjectsOverCapacity (any)).thenAnswer ((_) => Future .value ([cacheObject]));
259+ when (config.mockRepo.getOldObjects (any)).thenAnswer ((_) => Future .value ([cacheObject]));
260+ when (config.mockRepo.get ('baseflow.com/test.png' )).thenAnswer ((_) => Future .value (cacheObject));
258261
259262 expect (await store.getFile ('baseflow.com/test.png' ), isNotNull);
260263
@@ -263,8 +266,7 @@ void main() {
263266
264267 verify (config.mockRepo.getObjectsOverCapacity (any)).called (1 );
265268 verify (config.mockRepo.getOldObjects (any)).called (1 );
266- verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id))))
267- .called (1 );
269+ verify (config.mockRepo.deleteAll (argThat (contains (cacheObject.id)))).called (1 );
268270 });
269271
270272 test ('Store should recheck cache info when file is removed' , () async {
@@ -280,20 +282,16 @@ void main() {
280282 validTill: clock.now ().add (const Duration (days: 7 )),
281283 );
282284
283- when (config.mockRepo.getObjectsOverCapacity (any))
284- .thenAnswer ((_) => Future .value ([]));
285- when (config.mockRepo.getOldObjects (any))
286- .thenAnswer ((_) => Future .value ([]));
287- when (config.mockRepo.get ('baseflow.com/test.png' ))
288- .thenAnswer ((_) => Future .value (cacheObject));
285+ when (config.mockRepo.getObjectsOverCapacity (any)).thenAnswer ((_) => Future .value ([]));
286+ when (config.mockRepo.getOldObjects (any)).thenAnswer ((_) => Future .value ([]));
287+ when (config.mockRepo.get ('baseflow.com/test.png' )).thenAnswer ((_) => Future .value (cacheObject));
289288
290289 expect (await store.getFile ('baseflow.com/test.png' ), isNotNull);
291290 await file.delete ();
292291 expect (await store.getFile ('baseflow.com/test.png' ), isNull);
293292 });
294293
295- test ('Store should not remove files that are not old or over capacity' ,
296- () async {
294+ test ('Store should not remove files that are not old or over capacity' , () async {
297295 var config = createTestConfig ();
298296 var store = CacheStore (config);
299297 store.cleanupRunMinInterval = const Duration (milliseconds: 1 );
@@ -306,12 +304,9 @@ void main() {
306304 validTill: clock.now ().add (const Duration (days: 7 )),
307305 );
308306
309- when (config.mockRepo.getObjectsOverCapacity (any))
310- .thenAnswer ((_) => Future .value ([]));
311- when (config.mockRepo.getOldObjects (any))
312- .thenAnswer ((_) => Future .value ([]));
313- when (config.mockRepo.get ('baseflow.com/test.png' ))
314- .thenAnswer ((_) => Future .value (cacheObject));
307+ when (config.mockRepo.getObjectsOverCapacity (any)).thenAnswer ((_) => Future .value ([]));
308+ when (config.mockRepo.getOldObjects (any)).thenAnswer ((_) => Future .value ([]));
309+ when (config.mockRepo.get ('baseflow.com/test.png' )).thenAnswer ((_) => Future .value (cacheObject));
315310
316311 expect (await store.getFile ('baseflow.com/test.png' ), isNotNull);
317312
@@ -346,13 +341,11 @@ void main() {
346341 validTill: clock.now ().add (const Duration (days: 7 )),
347342 );
348343
349- when (config.mockRepo.getAllObjects ())
350- .thenAnswer ((_) => Future .value ([co1, co2, co3]));
344+ when (config.mockRepo.getAllObjects ()).thenAnswer ((_) => Future .value ([co1, co2, co3]));
351345
352346 await store.emptyCache ();
353347
354- verify (config.mockRepo
355- .deleteAll (argThat (containsAll ([co1.id, co2.id, co3.id])))).called (1 );
348+ verify (config.mockRepo.deleteAll (argThat (containsAll ([co1.id, co2.id, co3.id])))).called (1 );
356349 });
357350 });
358351}
0 commit comments