예제 #1
0
    def test_consume(self, amqp_exit_mock, amqp_enter_mock):
        app = MagicMock()
        worker = WorkerProcess(app, ["testqueue"], 1, exclusive="exclusive")
        channel = MagicMock(callbacks=True)

        def set_done():
            channel.callbacks = False

        channel.connection.drain_events.side_effect = set_done
        amqp_enter_mock.return_value = channel
        worker._consume()
        amqp_enter_mock.assert_called_with()
        amqp_exit_mock.assert_called_with(None, None, None)
        channel.basic_consume.assert_called_with(
            queue="testqueue", consumer_tag="testqueue", callback=ANY, exclusive="exclusive"
        )
        channel.connection.drain_events.assert_called_with()
예제 #2
0
 def test_run(self, thread_cls_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess("testapp", ["testqueue"], 10)
     worker._consume = MagicMock(side_effect=SystemExit)
     worker._run()
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     worker._consume.assert_called_with()
예제 #3
0
 def test_run(self, thread_cls_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess('testapp', ['testqueue'], 10)
     worker._consume = MagicMock(side_effect=SystemExit)
     worker._run()
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     worker._consume.assert_called_with()
예제 #4
0
 def test_run_exception(self, thread_cls_mock, print_exc_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess("testapp", ["testqueue"], 10)
     worker._consume = MagicMock(side_effect=AssertionError)
     self.assertRaises(AssertionError, worker._run)
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     print_exc_mock.assert_called_with()
     worker._consume.assert_called_with()
예제 #5
0
 def test_run_accessrefused(self, thread_cls_mock, sleep_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess("testapp", ["testqueue"], 10)
     worker._consume = MagicMock(side_effect=[AccessRefused, None])
     worker._run()
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     sleep_mock.assert_called_once_with(ANY)
     worker._consume.assert_called_with()
예제 #6
0
    def test_consume(self, amqp_exit_mock, amqp_enter_mock):
        app = MagicMock()
        worker = WorkerProcess(app, ['testqueue'], 1, exclusive='exclusive')
        channel = MagicMock(callbacks=True)

        def set_done():
            channel.callbacks = False

        channel.connection.drain_events.side_effect = set_done
        amqp_enter_mock.return_value = channel
        worker._consume()
        amqp_enter_mock.assert_called_with()
        amqp_exit_mock.assert_called_with(None, None, None)
        channel.basic_consume.assert_called_with(queue='testqueue',
                                                 consumer_tag='testqueue',
                                                 callback=ANY,
                                                 exclusive='exclusive')
        channel.connection.drain_events.assert_called_with()
예제 #7
0
 def test_run_exception(self, thread_cls_mock, print_exc_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess('testapp', ['testqueue'], 10)
     worker._consume = MagicMock(side_effect=AssertionError)
     self.assertRaises(AssertionError, worker._run)
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     print_exc_mock.assert_called_with()
     worker._consume.assert_called_with()
예제 #8
0
 def test_run_accessrefused(self, thread_cls_mock, sleep_mock):
     thread_cls_mock.return_value = thread_mock = MagicMock()
     worker = WorkerProcess('testapp', ['testqueue'], 10)
     worker._consume = MagicMock(side_effect=[AccessRefused, None])
     worker._run()
     thread_cls_mock.assert_called_with(target=ANY)
     thread_mock.start.assert_called_with()
     sleep_mock.assert_called_once_with(ANY)
     worker._consume.assert_called_with()