summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oslo/messaging/_drivers/amqpdriver.py8
-rw-r--r--tests/test_rabbit.py31
2 files changed, 25 insertions, 14 deletions
diff --git a/oslo/messaging/_drivers/amqpdriver.py b/oslo/messaging/_drivers/amqpdriver.py
index 903f848..a1cfd85 100644
--- a/oslo/messaging/_drivers/amqpdriver.py
+++ b/oslo/messaging/_drivers/amqpdriver.py
@@ -309,10 +309,16 @@ class AMQPDriverBase(base.BaseDriver):
return sp
def _get_connection(self, pooled=True):
+ # FIXME(markmc): we don't yet have a connection pool for each
+ # Transport instance, so we'll only use the pool with the
+ # transport configuration from the config file
+ server_params = self._server_params or None
+ if server_params:
+ pooled = False
return rpc_amqp.ConnectionContext(self.conf,
self._connection_pool,
pooled=pooled,
- server_params=self._server_params)
+ server_params=server_params)
def _get_reply_q(self):
with self._reply_q_lock:
diff --git a/tests/test_rabbit.py b/tests/test_rabbit.py
index fc753c1..dd346fc 100644
--- a/tests/test_rabbit.py
+++ b/tests/test_rabbit.py
@@ -48,7 +48,7 @@ class TestRabbitDriverLoad(test_utils.BaseTestCase):
class TestRabbitTransportURL(test_utils.BaseTestCase):
scenarios = [
- ('none', dict(url=None, expected={})),
+ ('none', dict(url=None, expected=None)),
('empty',
dict(url='rabbit:///',
expected=dict(virtual_host=''))),
@@ -84,28 +84,33 @@ class TestRabbitTransportURL(test_utils.BaseTestCase):
def setUp(self):
super(TestRabbitTransportURL, self).setUp()
+
self.messaging_conf.transport_driver = 'rabbit'
self.messaging_conf.in_memory = True
- def test_transport_url(self):
+ self._server_params = []
cnx_init = rabbit_driver.Connection.__init__
- passed_params = []
-
- def record_params(self, conf, server_params=None):
- passed_params.append(server_params)
- return cnx_init(self, conf, server_params)
- self.stubs.Set(rabbit_driver.Connection, '__init__', record_params)
+ def record_params(cnx, conf, server_params=None):
+ self._server_params.append(server_params)
+ return cnx_init(cnx, conf, server_params)
- transport = messaging.get_transport(self.conf, self.url)
+ def dummy_send(cnx, topic, msg, timeout=None):
+ pass
- driver = transport._driver
+ self.stubs.Set(rabbit_driver.Connection, '__init__', record_params)
+ self.stubs.Set(rabbit_driver.Connection, 'topic_send', dummy_send)
- target = messaging.Target(topic='testtopic')
+ self._driver = messaging.get_transport(self.conf, self.url)._driver
+ self._target = messaging.Target(topic='testtopic')
- driver.listen(target)
+ def test_transport_url_listen(self):
+ self._driver.listen(self._target)
+ self.assertEqual(self._server_params[0], self.expected)
- self.assertEqual(passed_params[0], self.expected)
+ def test_transport_url_send(self):
+ self._driver.send(self._target, {}, {})
+ self.assertEqual(self._server_params[0], self.expected)
class TestSendReceive(test_utils.BaseTestCase):