class TestDequeueOnEmpty(TransactionTestCase): def setUp(self): self.q = Queue() def test_pop_job_on_empty(self): job = self.q.dequeue() self.assertIsNone(job)
class TestDequeueInstanceMethods(TransactionTestCase): def setUp(self): self.q = Queue() self.c = Calculator(2) self.result = self.q.enqueue(self.c.calculate, 3, 4) def test_dequeue_instance_method(self): """Dequeueing instance method jobs from queues.""" job = self.q.dequeue() self.assertEqual(job.func.__name__, 'calculate') self.assertEqual(job.args, (3, 4))
class TestDequeue(TransactionTestCase): def setUp(self): self.q = Queue() self.result = self.q.enqueue(say_hello, 'Rick', foo='bar') # self.result2 = q.enqueue(c.calculate, 3, 4) # self.c = Calculator(2) def test_dequeue(self): """Dequeueing jobs from queues.""" # Dequeue a job (not a job ID) off the queue self.assertEqual(self.q.count, 1) job = self.q.dequeue() self.assertEqual(job.id, self.result.id) self.assertEqual(job.func, say_hello) self.assertEqual(job.origin, self.q.name) self.assertEqual(job.args[0], 'Rick') self.assertEqual(job.kwargs['foo'], 'bar') # ...and assert the queue count when down self.assertEqual(self.q.count, 0)