@@ -180,4 +180,149 @@ public function testJobWithNamespace()
180
180
Resque_Redis::prefix ('resque ' );
181
181
$ this ->assertEquals (Resque::size ($ queue ), 0 );
182
182
}
183
- }
183
+
184
+ public function testDequeueAll ()
185
+ {
186
+ $ queue = 'jobs ' ;
187
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
188
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
189
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
190
+ $ this ->assertEquals (Resque::dequeue ($ queue ), 2 );
191
+ $ this ->assertEquals (Resque::size ($ queue ), 0 );
192
+ }
193
+
194
+ public function testDequeueMakeSureNotDeleteOthers ()
195
+ {
196
+ $ queue = 'jobs ' ;
197
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
198
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
199
+ $ other_queue = 'other_jobs ' ;
200
+ Resque::enqueue ($ other_queue , 'Test_Job_Dequeue ' );
201
+ Resque::enqueue ($ other_queue , 'Test_Job_Dequeue ' );
202
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
203
+ $ this ->assertEquals (Resque::size ($ other_queue ), 2 );
204
+ $ this ->assertEquals (Resque::dequeue ($ queue ), 2 );
205
+ $ this ->assertEquals (Resque::size ($ queue ), 0 );
206
+ $ this ->assertEquals (Resque::size ($ other_queue ), 2 );
207
+ }
208
+
209
+ public function testDequeueSpecificItem ()
210
+ {
211
+ $ queue = 'jobs ' ;
212
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue1 ' );
213
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue2 ' );
214
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
215
+ $ test = array ('Test_Job_Dequeue2 ' );
216
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
217
+ $ this ->assertEquals (Resque::size ($ queue ), 1 );
218
+ }
219
+
220
+ public function testDequeueSpecificMultipleItems ()
221
+ {
222
+ $ queue = 'jobs ' ;
223
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue1 ' );
224
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue2 ' );
225
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue3 ' );
226
+ $ this ->assertEquals (Resque::size ($ queue ), 3 );
227
+ $ test = array ('Test_Job_Dequeue2 ' , 'Test_Job_Dequeue3 ' );
228
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 2 );
229
+ $ this ->assertEquals (Resque::size ($ queue ), 1 );
230
+ }
231
+
232
+ public function testDequeueNonExistingItem ()
233
+ {
234
+ $ queue = 'jobs ' ;
235
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue1 ' );
236
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue2 ' );
237
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue3 ' );
238
+ $ this ->assertEquals (Resque::size ($ queue ), 3 );
239
+ $ test = array ('Test_Job_Dequeue4 ' );
240
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 0 );
241
+ $ this ->assertEquals (Resque::size ($ queue ), 3 );
242
+ }
243
+
244
+ public function testDequeueNonExistingItem2 ()
245
+ {
246
+ $ queue = 'jobs ' ;
247
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue1 ' );
248
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue2 ' );
249
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue3 ' );
250
+ $ this ->assertEquals (Resque::size ($ queue ), 3 );
251
+ $ test = array ('Test_Job_Dequeue4 ' , 'Test_Job_Dequeue1 ' );
252
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
253
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
254
+ }
255
+
256
+ public function testDequeueItemID ()
257
+ {
258
+ $ queue = 'jobs ' ;
259
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
260
+ $ qid = Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
261
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
262
+ $ test = array ('Test_Job_Dequeue ' => $ qid );
263
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
264
+ $ this ->assertEquals (Resque::size ($ queue ), 1 );
265
+ }
266
+
267
+ public function testDequeueWrongItemID ()
268
+ {
269
+ $ queue = 'jobs ' ;
270
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
271
+ $ qid = Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
272
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
273
+ #qid right but class name is wrong
274
+ $ test = array ('Test_Job_Dequeue1 ' => $ qid );
275
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 0 );
276
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
277
+ }
278
+
279
+ public function testDequeueWrongItemID2 ()
280
+ {
281
+ $ queue = 'jobs ' ;
282
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
283
+ $ qid = Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
284
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
285
+ $ test = array ('Test_Job_Dequeue ' => 'r4nD0mH4sh3dId ' );
286
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 0 );
287
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
288
+ }
289
+
290
+ public function testDequeueItemWithArg ()
291
+ {
292
+ $ queue = 'jobs ' ;
293
+ $ arg = array ('foo ' => 1 , 'bar ' => 2 );
294
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue9 ' );
295
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue9 ' , $ arg );
296
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
297
+ $ test = array ('Test_Job_Dequeue9 ' => $ arg );
298
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
299
+ #$this->assertEquals(Resque::size($queue), 1);
300
+ }
301
+
302
+ public function testDequeueItemWithUnorderedArg ()
303
+ {
304
+ $ queue = 'jobs ' ;
305
+ $ arg = array ('foo ' => 1 , 'bar ' => 2 );
306
+ $ arg2 = array ('bar ' => 2 , 'foo ' => 1 );
307
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
308
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' , $ arg );
309
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
310
+ $ test = array ('Test_Job_Dequeue ' => $ arg2 );
311
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
312
+ $ this ->assertEquals (Resque::size ($ queue ), 1 );
313
+ }
314
+
315
+ public function testDequeueItemWithiWrongArg ()
316
+ {
317
+ $ queue = 'jobs ' ;
318
+ $ arg = array ('foo ' => 1 , 'bar ' => 2 );
319
+ $ arg2 = array ('foo ' => 2 , 'bar ' => 3 );
320
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' );
321
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue ' , $ arg );
322
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
323
+ $ test = array ('Test_Job_Dequeue ' => $ arg2 );
324
+ $ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 0 );
325
+ $ this ->assertEquals (Resque::size ($ queue ), 2 );
326
+ }
327
+
328
+ }
0 commit comments