Exemplo n.º 1
0
class TestDequeueOnEmpty(TransactionTestCase):
    def setUp(self):
        self.q = Queue()

    def test_pop_job_on_empty(self):
        job = self.q.dequeue()
        self.assertIsNone(job)
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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)