33
33
import java .util .concurrent .Semaphore ;
34
34
import java .util .concurrent .TimeUnit ;
35
35
import java .util .concurrent .atomic .AtomicLong ;
36
- import junit .framework .Assert ;
37
36
import org .junit .After ;
37
+ import org .junit .Assert ;
38
38
import org .junit .Before ;
39
39
import org .junit .Rule ;
40
40
import org .junit .Test ;
@@ -74,8 +74,7 @@ public void tearDown() {
74
74
public void streamDownload () throws Exception {
75
75
System .out .println ("Starting test streamDownload." );
76
76
77
- final MockConnectionFactory factory =
78
- NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
77
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
79
78
final boolean [] completeHandlerInvoked = new boolean [] {false };
80
79
81
80
Task <StreamDownloadResponse > task =
@@ -90,18 +89,11 @@ public void streamDownload() throws Exception {
90
89
"image.jpg" ,
91
90
-1 );
92
91
93
- for (int i = 0 ; i < 3000 ; i ++) {
94
- Robolectric .flushForegroundThreadScheduler ();
95
- if (task .isComplete ()) {
96
- // success!
97
- factory .verifyOldMock ();
98
- TestUtil .verifyTaskStateChanges ("streamDownload" , task .getResult ());
99
- assertTrue (completeHandlerInvoked [0 ]);
100
- return ;
101
- }
102
- Thread .sleep (1 );
103
- }
104
- fail ();
92
+ TestUtil .await (task );
93
+
94
+ factory .verifyOldMock ();
95
+ TestUtil .verifyTaskStateChanges ("streamDownload" , task .getResult ());
96
+ assertTrue (completeHandlerInvoked [0 ]);
105
97
}
106
98
107
99
@ Test
@@ -158,7 +150,7 @@ public void streamDownloadStateVerification() throws Exception {
158
150
public void streamDownloadWithResume () throws Exception {
159
151
System .out .println ("Starting test streamDownloadWithResume." );
160
152
161
- final MockConnectionFactory factory =
153
+ MockConnectionFactory factory =
162
154
NetworkLayerMock .ensureNetworkMock ("streamDownloadWithResume" , true );
163
155
final boolean [] completeHandlerInvoked = new boolean [] {false };
164
156
@@ -174,97 +166,67 @@ public void streamDownloadWithResume() throws Exception {
174
166
"image.jpg" ,
175
167
-1 );
176
168
177
- for (int i = 0 ; i < 3000 ; i ++) {
178
- Robolectric .flushForegroundThreadScheduler ();
179
- if (task .isComplete ()) {
180
- // success!
181
- factory .verifyOldMock ();
182
- TestUtil .verifyTaskStateChanges ("streamDownloadWithResume" , task .getResult ());
183
- assertTrue (completeHandlerInvoked [0 ]);
184
- return ;
185
- }
186
- Thread .sleep (1 );
187
- }
188
- fail ();
169
+ TestUtil .await (task );
170
+
171
+ factory .verifyOldMock ();
172
+ TestUtil .verifyTaskStateChanges ("streamDownloadWithResume" , task .getResult ());
173
+ assertTrue (completeHandlerInvoked [0 ]);
189
174
}
190
175
191
176
@ Test
192
177
public void streamDownloadWithResumeAndCancel () throws Exception {
193
178
System .out .println ("Starting test streamDownloadWithResumeAndCancel." );
194
179
195
- final MockConnectionFactory factory =
180
+ MockConnectionFactory factory =
196
181
NetworkLayerMock .ensureNetworkMock ("streamDownloadWithResumeAndCancel" , true );
197
182
198
183
Task <StreamDownloadResponse > task =
199
184
TestDownloadHelper .streamDownload (
200
185
bitmap -> fail ("Should not get called since we cancelled." ), null , "image.jpg" , 260000 );
201
186
202
- for (int i = 0 ; i < 3000 ; i ++) {
203
- Robolectric .flushForegroundThreadScheduler ();
204
- if (task .isComplete ()) {
205
- // success!
206
- factory .verifyOldMock ();
207
- TestUtil .verifyTaskStateChanges ("streamDownloadWithResumeAndCancel" , task .getResult ());
208
- return ;
209
- }
210
- Thread .sleep (1 );
211
- }
212
- fail ();
187
+ TestUtil .await (task );
188
+
189
+ factory .verifyOldMock ();
190
+ TestUtil .verifyTaskStateChanges ("streamDownloadWithResumeAndCancel" , task .getResult ());
213
191
}
214
192
215
193
@ Test
216
194
public void streamDownloadCanceled () throws Exception {
217
195
System .out .println ("Starting test streamDownloadCanceled." );
218
196
219
- final MockConnectionFactory factory =
220
- NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
197
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
221
198
222
199
Task <StreamDownloadResponse > task =
223
200
TestDownloadHelper .streamDownload (
224
201
bitmap -> fail ("Should not get called since we cancelled." ), null , "image.jpg" , 0 );
225
202
226
- for (int i = 0 ; i < 3000 ; i ++) {
227
- Robolectric .flushForegroundThreadScheduler ();
228
- if (task .isComplete ()) {
229
- // success!
230
- factory .verifyOldMock ();
231
- TestUtil .verifyTaskStateChanges ("streamDownloadCanceled" , task .getResult ());
232
- return ;
233
- }
234
- Thread .sleep (1 );
235
- }
236
- fail ();
203
+ TestUtil .await (task );
204
+
205
+ factory .verifyOldMock ();
206
+ TestUtil .verifyTaskStateChanges ("streamDownloadCanceled" , task .getResult ());
237
207
}
238
208
239
209
@ Test
240
210
public void streamDownloadWithETagChange () throws Exception {
241
211
System .out .println ("Starting test streamDownloadWithETagChange." );
242
212
243
- final MockConnectionFactory factory =
213
+ MockConnectionFactory factory =
244
214
NetworkLayerMock .ensureNetworkMock ("streamDownloadWithETagChange" , true );
245
215
246
216
Task <StreamDownloadResponse > task =
247
217
TestDownloadHelper .streamDownload (null , null , "image.jpg" , -1 );
248
218
249
- for (int i = 0 ; i < 3000 ; i ++) {
250
- Robolectric .flushForegroundThreadScheduler ();
251
- if (task .isComplete ()) {
252
- // success!
253
- factory .verifyOldMock ();
254
- TestUtil .verifyTaskStateChanges ("streamDownloadWithETagChange" , task .getResult ());
255
- return ;
256
- }
257
- Thread .sleep (1 );
258
- }
259
- fail ();
219
+ TestUtil .await (task );
220
+
221
+ factory .verifyOldMock ();
222
+ TestUtil .verifyTaskStateChanges ("streamDownloadWithETagChange" , task .getResult ());
260
223
}
261
224
262
225
@ Test
263
226
public void emptyStreamDownload () throws Exception {
264
227
System .out .println ("Starting test emptyStreamDownload." );
265
228
266
- final MockConnectionFactory factory =
267
- NetworkLayerMock .ensureNetworkMock ("emptyStreamDownload" , true );
229
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("emptyStreamDownload" , true );
268
230
final boolean [] completeHandlerInvoked = new boolean [] {false };
269
231
270
232
Task <StreamDownloadResponse > task =
@@ -277,26 +239,18 @@ public void emptyStreamDownload() throws Exception {
277
239
"empty.dat" ,
278
240
-1 );
279
241
280
- for (int i = 0 ; i < 3000 ; i ++) {
281
- Robolectric .flushForegroundThreadScheduler ();
282
- if (task .isComplete ()) {
283
- // success!
284
- factory .verifyOldMock ();
285
- TestUtil .verifyTaskStateChanges ("emptyStreamDownload" , task .getResult ());
286
- assertTrue (completeHandlerInvoked [0 ]);
287
- return ;
288
- }
289
- Thread .sleep (1 );
290
- }
291
- fail ();
242
+ TestUtil .await (task );
243
+
244
+ factory .verifyOldMock ();
245
+ TestUtil .verifyTaskStateChanges ("emptyStreamDownload" , task .getResult ());
246
+ assertTrue (completeHandlerInvoked [0 ]);
292
247
}
293
248
294
249
@ Test
295
250
public void byteDownload () throws Exception {
296
251
System .out .println ("Starting test byteDownload." );
297
252
298
- final MockConnectionFactory factory =
299
- NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
253
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("streamDownload" , true );
300
254
301
255
Semaphore semaphore =
302
256
TestDownloadHelper .byteDownload (
@@ -322,7 +276,7 @@ public void fileDownload() throws Exception {
322
276
outputFile .delete ();
323
277
}
324
278
Uri destinationUri = Uri .fromFile (outputFile );
325
- final MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("fileDownload" , true );
279
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("fileDownload" , true );
326
280
327
281
final boolean [] completeHandlerInvoked = new boolean [] {false };
328
282
@@ -336,18 +290,11 @@ public void fileDownload() throws Exception {
336
290
},
337
291
-1 );
338
292
339
- for (int i = 0 ; i < 3000 ; i ++) {
340
- Robolectric .flushForegroundThreadScheduler ();
341
- if (task .isComplete ()) {
342
- // success!
343
- factory .verifyOldMock ();
344
- TestUtil .verifyTaskStateChanges ("fileDownload" , task .getResult ().toString ());
345
- assertTrue (completeHandlerInvoked [0 ]);
346
- return ;
347
- }
348
- Thread .sleep (1 );
349
- }
350
- fail ();
293
+ TestUtil .await (task );
294
+
295
+ factory .verifyOldMock ();
296
+ TestUtil .verifyTaskStateChanges ("fileDownload" , task .getResult ().toString ());
297
+ assertTrue (completeHandlerInvoked [0 ]);
351
298
}
352
299
353
300
@ Test
@@ -360,8 +307,7 @@ public void fileDownloadResume() throws Exception {
360
307
outputFile .delete ();
361
308
}
362
309
Uri destinationUri = Uri .fromFile (outputFile );
363
- final MockConnectionFactory factory =
364
- NetworkLayerMock .ensureNetworkMock ("fileDownloadResume" , true );
310
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("fileDownloadResume" , true );
365
311
366
312
final boolean [] completeHandlerInvoked = new boolean [] {false };
367
313
@@ -375,18 +321,11 @@ public void fileDownloadResume() throws Exception {
375
321
},
376
322
-1 );
377
323
378
- for (int i = 0 ; i < 3000 ; i ++) {
379
- Robolectric .flushForegroundThreadScheduler ();
380
- if (task .isComplete ()) {
381
- // success!
382
- factory .verifyOldMock ();
383
- TestUtil .verifyTaskStateChanges ("fileDownloadResume" , task .getResult ().toString ());
384
- assertTrue (completeHandlerInvoked [0 ]);
385
- return ;
386
- }
387
- Thread .sleep (1 );
388
- }
389
- fail ();
324
+ TestUtil .await (task );
325
+
326
+ factory .verifyOldMock ();
327
+ TestUtil .verifyTaskStateChanges ("fileDownloadResume" , task .getResult ().toString ());
328
+ assertTrue (completeHandlerInvoked [0 ]);
390
329
}
391
330
392
331
@ Test
@@ -399,7 +338,7 @@ public void emptyDownload() throws Exception {
399
338
outputFile .delete ();
400
339
}
401
340
Uri destinationUri = Uri .fromFile (outputFile );
402
- final MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("emptyDownload" , true );
341
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("emptyDownload" , true );
403
342
final boolean [] completeHandlerInvoked = new boolean [] {false };
404
343
405
344
Task <StringBuilder > task =
@@ -412,18 +351,11 @@ public void emptyDownload() throws Exception {
412
351
},
413
352
-1 );
414
353
415
- for (int i = 0 ; i < 3000 ; i ++) {
416
- Robolectric .flushForegroundThreadScheduler ();
417
- if (task .isComplete ()) {
418
- // success!
419
- factory .verifyOldMock ();
420
- TestUtil .verifyTaskStateChanges ("emptyDownload" , task .getResult ().toString ());
421
- assertTrue (completeHandlerInvoked [0 ]);
422
- return ;
423
- }
424
- Thread .sleep (1 );
425
- }
426
- fail ();
354
+ TestUtil .await (task );
355
+
356
+ factory .verifyOldMock ();
357
+ TestUtil .verifyTaskStateChanges ("emptyDownload" , task .getResult ().toString ());
358
+ assertTrue (completeHandlerInvoked [0 ]);
427
359
}
428
360
429
361
@ Test
@@ -436,21 +368,15 @@ public void fileDownloadCanceledImmediately() throws Exception {
436
368
outputFile .delete ();
437
369
}
438
370
Uri destinationUri = Uri .fromFile (outputFile );
439
- final MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("fileDownload" , true );
371
+ MockConnectionFactory factory = NetworkLayerMock .ensureNetworkMock ("fileDownload" , true );
440
372
441
373
Task <StringBuilder > task =
442
374
TestDownloadHelper .fileDownload (
443
375
destinationUri , () -> fail ("Should not run since we cancelled the task." ), 0 );
444
- for (int i = 0 ; i < 3000 ; i ++) {
445
- Robolectric .flushForegroundThreadScheduler ();
446
- if (task .isComplete ()) {
447
- // success!
448
- factory .verifyOldMock ();
449
- TestUtil .verifyTaskStateChanges ("fileDownloadCanceled" , task .getResult ().toString ());
450
- return ;
451
- }
452
- Thread .sleep (1 );
453
- }
454
- fail ();
376
+
377
+ TestUtil .await (task );
378
+
379
+ factory .verifyOldMock ();
380
+ TestUtil .verifyTaskStateChanges ("fileDownloadCanceled" , task .getResult ().toString ());
455
381
}
456
382
}
0 commit comments