def _init_bus(): global bus_client bus_client = BusCtlClient() bus_client.connect() bus_client.declare_exchange(config.BUS_EXCHANGE_NAME, config.BUS_EXCHANGE_TYPE, durable=config.BUS_EXCHANGE_DURABLE)
def test_connect_and_close_opens_and_closes_transport(self, amqp_client): transport = Mock() amqp_client.create_and_connect.return_value = transport client = BusCtlClient() client.connect() client.close() amqp_client.create_and_connect.assert_called_once_with() transport.close.assert_called_once_with()
def test_close_transport_with_no_connection(self, amqp_client): client = BusCtlClient() client.close() self.assertFalse(amqp_client.create_and_connect.called)
def test_connect_already_connected(self): client = BusCtlClient() client.connect() self.assertRaises(Exception, client.connect)
def test_connect_no_transport(self, amqp_client_constructor): client = BusCtlClient() client.connect() amqp_client_constructor.create_and_connect.assert_called_once_with()
def setUp(self): self.marshaler = Mock(Marshaler) self.transport = Mock(AMQPTransportClient) self.bus_ctl_client = BusCtlClient() self.bus_ctl_client._marshaler = self.marshaler self.bus_ctl_client._transport = self.transport
class TestBusCtlClient(unittest.TestCase): def setUp(self): self.marshaler = Mock(Marshaler) self.transport = Mock(AMQPTransportClient) self.bus_ctl_client = BusCtlClient() self.bus_ctl_client._marshaler = self.marshaler self.bus_ctl_client._transport = self.transport @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_connect_no_transport(self, amqp_client_constructor): client = BusCtlClient() client.connect() amqp_client_constructor.create_and_connect.assert_called_once_with() @patch('xivo_bus.ctl.client.AMQPTransportClient', Mock()) def test_connect_already_connected(self): client = BusCtlClient() client.connect() self.assertRaises(Exception, client.connect) @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_close_transport_with_no_connection(self, amqp_client): client = BusCtlClient() client.close() self.assertFalse(amqp_client.create_and_connect.called) @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_connect_and_close_opens_and_closes_transport(self, amqp_client): transport = Mock() amqp_client.create_and_connect.return_value = transport client = BusCtlClient() client.connect() client.close() amqp_client.create_and_connect.assert_called_once_with() transport.close.assert_called_once_with() def test_declare_exchange(self): name = 'xivo-ami' exchange_type = 'topic' durable = True self.bus_ctl_client.declare_exchange(name, exchange_type, durable) self.transport.exchange_declare.assert_called_once_with(name, exchange_type, durable) def test_publish_event(self): event = Mock() event.name = 'foobar' exchange = 'xivo-ami' routing_key = event.name request = Mock() self.marshaler.marshal_command.return_value = request self.bus_ctl_client.publish_event(exchange, routing_key, event) self.marshaler.marshal_command.assert_called_once_with(event) self.transport.send.assert_called_once_with(exchange, routing_key, request)
class TestBusCtlClient(unittest.TestCase): def setUp(self): self.marshaler = Mock(Marshaler) self.transport = Mock(AMQPTransportClient) self.bus_ctl_client = BusCtlClient() self.bus_ctl_client._marshaler = self.marshaler self.bus_ctl_client._transport = self.transport @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_connect_no_transport(self, amqp_client_constructor): client = BusCtlClient() client.connect() amqp_client_constructor.create_and_connect.assert_called_once_with() @patch('xivo_bus.ctl.client.AMQPTransportClient', Mock()) def test_connect_already_connected(self): client = BusCtlClient() client.connect() self.assertRaises(Exception, client.connect) @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_close_transport_with_no_connection(self, amqp_client): client = BusCtlClient() client.close() self.assertFalse(amqp_client.create_and_connect.called) @patch('xivo_bus.ctl.client.AMQPTransportClient') def test_connect_and_close_opens_and_closes_transport(self, amqp_client): transport = Mock() amqp_client.create_and_connect.return_value = transport client = BusCtlClient() client.connect() client.close() amqp_client.create_and_connect.assert_called_once_with() transport.close.assert_called_once_with() def test_declare_exchange(self): name = 'xivo-ami' exchange_type = 'topic' durable = True self.bus_ctl_client.declare_exchange(name, exchange_type, durable) self.transport.exchange_declare.assert_called_once_with( name, exchange_type, durable) def test_publish_event(self): event = Mock() event.name = 'foobar' exchange = 'xivo-ami' routing_key = event.name request = Mock() self.marshaler.marshal_command.return_value = request self.bus_ctl_client.publish_event(exchange, routing_key, event) self.marshaler.marshal_command.assert_called_once_with(event) self.transport.send.assert_called_once_with(exchange, routing_key, request)
def __init__(self, fetch_response=True): BusCtlClient.__init__(self) self._fetch_response = fetch_response