Exemplo n.º 1
0
    def test_stop(self):
        """Assert calling stop sets the ``should_stop`` flag."""
        consumer = service.Consumer(None, 'backends')
        self.assertFalse(consumer.should_stop)

        consumer.stop()
        self.assertTrue(consumer.should_stop)
Exemplo n.º 2
0
    def test_multiple_queues(self):
        """Assert multiple queues are created when provided."""
        queues = ['backends.email', 'backends.irc']

        consumer = service.Consumer(None, queues)

        self.assertEqual([Queue(q) for q in queues], consumer.queues)
Exemplo n.º 3
0
    def test_get_consumers(self):
        """Assert the ``get_consumers`` interface provides a consumer with a callback."""
        consumer = service.Consumer(None, 'backends')

        consumers = consumer.get_consumers(Consumer, Mock())

        self.assertEqual(1, len(consumers))
        self.assertEqual([consumer.on_message], consumers[0].callbacks)
Exemplo n.º 4
0
    def test_on_message_failed_delivery(self, mock_blocking_call):
        """Assert general exceptions in the delivery service re-queue the message."""
        mock_blocking_call.side_effect = Exception
        message = Mock()
        consumer = service.Consumer(Mock(), 'backends')

        consumer.on_message({'hello': 'world'}, message)

        self.assertEqual(1, message.requeue.call_count)
        self.assertEqual(0, message.ack.call_count)
Exemplo n.º 5
0
    def test_on_message(self, mock_blocking):
        """Assert messages are passed on to the Twisted DeliveryService."""
        message = Mock()
        mock_delivery = Mock()
        consumer = service.Consumer(mock_delivery, 'backends')

        consumer.on_message({'hello': 'world'}, message)

        mock_blocking.assert_called_with(
            service.reactor, mock_delivery.handle_message, {'hello': 'world'})
        message.ack.assert_called_once_with()
Exemplo n.º 6
0
    def test_single_queue(self):
        """Assert a single queue as a string is supported."""
        consumer = service.Consumer(None, 'backends')

        self.assertEqual([Queue('backends')], consumer.queues)