示例#1
0
 def setUp(self):
     self.broker = Mock()
     self.lt = LocalTransport(self.broker, sentinel.ch_number)
示例#2
0
class TestLocalTransport(PyonTestCase):
    def setUp(self):
        self.broker = Mock()
        self.lt = LocalTransport(self.broker, sentinel.ch_number)

    def test_redirect_calls(self):
        self.lt.declare_exchange_impl(sentinel.exchange)
        self.lt.delete_exchange_impl(sentinel.exchange)
        self.lt.declare_queue_impl(sentinel.queue)
        self.lt.delete_queue_impl(sentinel.queue)
        self.lt.bind_impl(sentinel.exchange, sentinel.queue, sentinel.binding)
        self.lt.unbind_impl(sentinel.exchange, sentinel.queue,
                            sentinel.binding)
        self.lt.publish_impl(sentinel.exchange, sentinel.routing_key,
                             sentinel.body, sentinel.properties)
        self.lt.start_consume_impl(sentinel.callback, sentinel.queue)
        self.lt.stop_consume_impl(sentinel.consumer_tag)
        self.lt.ack_impl(sentinel.delivery_tag)
        self.lt.reject_impl(sentinel.delivery_tag)
        self.lt.get_stats_impl(sentinel.queue)
        self.lt.purge_impl(sentinel.queue)

        self.broker.declare_exchange.assert_called_once_with(sentinel.exchange)
        self.broker.delete_exchange.assert_called_once_with(sentinel.exchange)
        self.broker.declare_queue.assert_called_once_with(sentinel.queue)
        self.broker.delete_queue.assert_called_once_with(sentinel.queue)
        self.broker.bind.assert_called_once_with(sentinel.exchange,
                                                 sentinel.queue,
                                                 sentinel.binding)
        self.broker.unbind.assert_called_once_with(sentinel.exchange,
                                                   sentinel.queue,
                                                   sentinel.binding)
        self.broker.publish.assert_called_once_with(sentinel.exchange,
                                                    sentinel.routing_key,
                                                    sentinel.body,
                                                    sentinel.properties,
                                                    immediate=False,
                                                    mandatory=False)
        self.broker.start_consume.assert_called_once_with(sentinel.callback,
                                                          sentinel.queue,
                                                          no_ack=False,
                                                          exclusive=False)
        self.broker.stop_consume.assert_called_once_with(sentinel.consumer_tag)
        self.broker.ack.assert_called_once_with(sentinel.delivery_tag)
        self.broker.reject.assert_called_once_with(sentinel.delivery_tag,
                                                   requeue=False)
        self.broker.get_stats(sentinel.queue)
        self.broker.purge(sentinel.queue)

    def test_close(self):
        self.lt.close()

        self.broker.transport_close.assert_called_once_with(self.lt)
        self.assertFalse(self.lt._active)

    def test_close_with_callbacks(self):
        m = Mock()
        self.lt.add_on_close_callback(m)

        self.lt.close()

        m.assert_called_once_with(self.lt, 200, "Closed ok")

    def test_add_on_close_callback(self):
        self.lt.add_on_close_callback(sentinel.callback)
        self.assertIn(sentinel.callback, self.lt._close_callbacks)

    def test_active(self):
        self.lt._active = sentinel.active
        self.assertEquals(self.lt.active, sentinel.active)

    def test_channel_number(self):
        self.assertEquals(self.lt.channel_number, sentinel.ch_number)

    def test_qos_impl(self):
        # no body in LocalTransport method
        pass
示例#3
0
 def setUp(self):
     self.broker = Mock()
     self.lt = LocalTransport(self.broker, sentinel.ch_number)
示例#4
0
 def _new_transport(self, ch_number=None):
     trans = LocalTransport(self._local_router, ch_number)
     return trans
示例#5
0
class TestLocalTransport(PyonTestCase):
    def setUp(self):
        self.broker = Mock()
        self.lt = LocalTransport(self.broker, sentinel.ch_number)

    def test_redirect_calls(self):
        self.lt.declare_exchange_impl(sentinel.exchange)
        self.lt.delete_exchange_impl(sentinel.exchange)
        self.lt.declare_queue_impl(sentinel.queue)
        self.lt.delete_queue_impl(sentinel.queue)
        self.lt.bind_impl(sentinel.exchange, sentinel.queue, sentinel.binding)
        self.lt.unbind_impl(sentinel.exchange, sentinel.queue, sentinel.binding)
        self.lt.publish_impl(sentinel.exchange, sentinel.routing_key, sentinel.body, sentinel.properties)
        self.lt.start_consume_impl(sentinel.callback, sentinel.queue)
        self.lt.stop_consume_impl(sentinel.consumer_tag)
        self.lt.ack_impl(sentinel.delivery_tag)
        self.lt.reject_impl(sentinel.delivery_tag)
        self.lt.get_stats_impl(sentinel.queue)
        self.lt.purge_impl(sentinel.queue)

        self.broker.declare_exchange.assert_called_once_with(sentinel.exchange)
        self.broker.delete_exchange.assert_called_once_with(sentinel.exchange)
        self.broker.declare_queue.assert_called_once_with(sentinel.queue)
        self.broker.delete_queue.assert_called_once_with(sentinel.queue)
        self.broker.bind.assert_called_once_with(sentinel.exchange, sentinel.queue, sentinel.binding)
        self.broker.unbind.assert_called_once_with(sentinel.exchange, sentinel.queue, sentinel.binding)
        self.broker.publish.assert_called_once_with(sentinel.exchange, sentinel.routing_key, sentinel.body, sentinel.properties, immediate=False, mandatory=False)
        self.broker.start_consume.assert_called_once_with(sentinel.callback, sentinel.queue, no_ack=False, exclusive=False)
        self.broker.stop_consume.assert_called_once_with(sentinel.consumer_tag)
        self.broker.ack.assert_called_once_with(sentinel.delivery_tag)
        self.broker.reject.assert_called_once_with(sentinel.delivery_tag, requeue=False)
        self.broker.get_stats(sentinel.queue)
        self.broker.purge(sentinel.queue)

    def test_close(self):
        self.lt.close()

        self.broker.transport_close.assert_called_once_with(self.lt)
        self.assertFalse(self.lt._active)

    def test_close_with_callbacks(self):
        m = Mock()
        self.lt.add_on_close_callback(m)

        self.lt.close()

        m.assert_called_once_with(self.lt, 200, "Closed ok")

    def test_add_on_close_callback(self):
        self.lt.add_on_close_callback(sentinel.callback)
        self.assertIn(sentinel.callback, self.lt._close_callbacks)

    def test_active(self):
        self.lt._active = sentinel.active
        self.assertEquals(self.lt.active, sentinel.active)

    def test_channel_number(self):
        self.assertEquals(self.lt.channel_number, sentinel.ch_number)

    def test_qos_impl(self):
        # no body in LocalTransport method
        pass