diff --git a/oslo_messaging/conffixture.py b/oslo_messaging/conffixture.py
index b441cb441..94f2f8977 100644
--- a/oslo_messaging/conffixture.py
+++ b/oslo_messaging/conffixture.py
@@ -37,7 +37,7 @@ class ConfFixture(fixtures.Fixture):
     An example usage::
 
         self.messaging_conf = self.useFixture(messaging.ConfFixture(cfg.CONF))
-        self.messaging_conf.transport_driver = 'fake'
+        self.messaging_conf.transport_url = 'fake://'
 
     :param conf: a ConfigOpts instance
     :type conf: oslo.config.cfg.ConfigOpts
@@ -131,6 +131,15 @@ class ConfFixture(fixtures.Fixture):
     def transport_driver(self, value):
         self.conf.set_override('rpc_backend', value)
 
+    @property
+    def transport_url(self):
+        """The transport url"""
+        return self.conf.transport_url
+
+    @transport_url.setter
+    def transport_url(self, value):
+        self.conf.set_override('transport_url', value)
+
     @property
     def response_timeout(self):
         """Default number of seconds to wait for a response from a call."""
diff --git a/oslo_messaging/tests/drivers/test_amqp_driver.py b/oslo_messaging/tests/drivers/test_amqp_driver.py
index 09020d458..1bab73fce 100644
--- a/oslo_messaging/tests/drivers/test_amqp_driver.py
+++ b/oslo_messaging/tests/drivers/test_amqp_driver.py
@@ -119,7 +119,7 @@ class TestProtonDriverLoad(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestProtonDriverLoad, self).setUp()
-        self.messaging_conf.transport_driver = 'amqp'
+        self.messaging_conf.transport_url = 'amqp://'
 
     def test_driver_load(self):
         transport = oslo_messaging.get_transport(self.conf)
@@ -750,7 +750,7 @@ mech_list: ${mechs}
                                   sasl_config_dir=_dir,
                                   sasl_config_name="openstack")
         self._broker.start()
-        self.messaging_conf.transport_driver = 'amqp'
+        self.messaging_conf.transport_url = 'amqp://'
         self.conf = self.messaging_conf.conf
 
     def tearDown(self):
diff --git a/oslo_messaging/tests/drivers/test_impl_kafka.py b/oslo_messaging/tests/drivers/test_impl_kafka.py
index a4860bd55..1aff43f1b 100644
--- a/oslo_messaging/tests/drivers/test_impl_kafka.py
+++ b/oslo_messaging/tests/drivers/test_impl_kafka.py
@@ -27,7 +27,7 @@ class TestKafkaDriverLoad(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestKafkaDriverLoad, self).setUp()
-        self.messaging_conf.transport_driver = 'kafka'
+        self.messaging_conf.transport_url = 'kafka:/'
 
     def test_driver_load(self):
         transport = oslo_messaging.get_notification_transport(self.conf)
@@ -41,7 +41,7 @@ class TestKafkaTransportURL(test_utils.BaseTestCase):
                       expected=dict(hostaddrs=['localhost:9092'],
                                     username=None,
                                     password=None,
-                                    vhost=None))),
+                                    vhost=''))),
         ('empty', dict(url='kafka:///',
                        expected=dict(hostaddrs=['localhost:9092'],
                                      username=None,
@@ -84,7 +84,7 @@ class TestKafkaTransportURL(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestKafkaTransportURL, self).setUp()
-        self.messaging_conf.transport_driver = 'kafka'
+        self.messaging_conf.transport_url = 'kafka:/'
 
     def test_transport_url(self):
         transport = oslo_messaging.get_notification_transport(self.conf,
@@ -104,7 +104,7 @@ class TestKafkaDriver(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestKafkaDriver, self).setUp()
-        self.messaging_conf.transport_driver = 'kafka'
+        self.messaging_conf.transport_url = 'kafka:/'
         transport = oslo_messaging.get_notification_transport(self.conf)
         self.driver = transport._driver
 
@@ -164,7 +164,7 @@ class TestKafkaConnection(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestKafkaConnection, self).setUp()
-        self.messaging_conf.transport_driver = 'kafka'
+        self.messaging_conf.transport_url = 'kafka:/'
         transport = oslo_messaging.get_notification_transport(self.conf)
         self.driver = transport._driver
 
diff --git a/oslo_messaging/tests/drivers/test_impl_rabbit.py b/oslo_messaging/tests/drivers/test_impl_rabbit.py
index 8dd3109e1..d02a0cf9b 100644
--- a/oslo_messaging/tests/drivers/test_impl_rabbit.py
+++ b/oslo_messaging/tests/drivers/test_impl_rabbit.py
@@ -42,7 +42,7 @@ class TestDeprecatedRabbitDriverLoad(test_utils.BaseTestCase):
     def setUp(self):
         super(TestDeprecatedRabbitDriverLoad, self).setUp(
             conf=cfg.ConfigOpts())
-        self.messaging_conf.transport_driver = 'rabbit'
+        self.messaging_conf.transport_url = 'rabbit:/'
         self.config(fake_rabbit=True, group="oslo_messaging_rabbit")
 
     def test_driver_load(self):
@@ -52,7 +52,7 @@ class TestDeprecatedRabbitDriverLoad(test_utils.BaseTestCase):
         url = driver._get_connection()._url
 
         self.assertIsInstance(driver, rabbit_driver.RabbitDriver)
-        self.assertEqual('memory:////', url)
+        self.assertEqual('memory:///', url)
 
 
 class TestHeartbeat(test_utils.BaseTestCase):
@@ -137,12 +137,9 @@ class TestRabbitQos(test_utils.BaseTestCase):
 class TestRabbitDriverLoad(test_utils.BaseTestCase):
 
     scenarios = [
-        ('rabbit', dict(transport_driver='rabbit',
-                        url='amqp://guest:guest@localhost:5672//')),
-        ('kombu', dict(transport_driver='kombu',
-                       url='amqp://guest:guest@localhost:5672//')),
-        ('rabbit+memory', dict(transport_driver='kombu+memory',
-                               url='memory:///'))
+        ('rabbit', dict(transport_url='rabbit:/guest:guest@localhost:5672//')),
+        ('kombu', dict(transport_url='kombu:/guest:guest@localhost:5672//')),
+        ('rabbit+memory', dict(transport_url='kombu+memory:/'))
     ]
 
     @mock.patch('oslo_messaging._drivers.impl_rabbit.Connection.ensure')
@@ -150,14 +147,12 @@ class TestRabbitDriverLoad(test_utils.BaseTestCase):
     def test_driver_load(self, fake_ensure, fake_reset):
         self.config(heartbeat_timeout_threshold=60,
                     group='oslo_messaging_rabbit')
-        self.messaging_conf.transport_driver = self.transport_driver
+        self.messaging_conf.transport_url = self.transport_url
         transport = oslo_messaging.get_transport(self.conf)
         self.addCleanup(transport.cleanup)
         driver = transport._driver
-        url = driver._get_connection()._url
 
         self.assertIsInstance(driver, rabbit_driver.RabbitDriver)
-        self.assertEqual(self.url, url)
 
 
 class TestRabbitDriverLoadSSL(test_utils.BaseTestCase):
@@ -389,7 +384,7 @@ class TestRabbitTransportURL(test_utils.BaseTestCase):
 
     scenarios = [
         ('none', dict(url=None,
-                      expected=["amqp://guest:guest@localhost:5672//"])),
+                      expected=["amqp://guest:guest@localhost:5672/"])),
         ('memory', dict(url='kombu+memory:////',
                         expected=["memory:///"])),
         ('empty',
@@ -426,7 +421,7 @@ class TestRabbitTransportURL(test_utils.BaseTestCase):
 
     def setUp(self):
         super(TestRabbitTransportURL, self).setUp()
-        self.messaging_conf.transport_driver = 'rabbit'
+        self.messaging_conf.transport_url = 'rabbit:/'
         self.config(heartbeat_timeout_threshold=0,
                     group='oslo_messaging_rabbit')
 
diff --git a/oslo_messaging/tests/test_fixture.py b/oslo_messaging/tests/test_fixture.py
index 73b68c2cd..20f56fe82 100644
--- a/oslo_messaging/tests/test_fixture.py
+++ b/oslo_messaging/tests/test_fixture.py
@@ -49,10 +49,11 @@ class TestConfFixture(test_utils.BaseTestCase):
     def test_fixture_properties(self):
         conf = self.messaging_conf.conf
         self.messaging_conf.transport_driver = 'fake'
-        self.assertEqual('fake',
-                         self.messaging_conf.transport_driver)
-        self.assertEqual('fake',
-                         conf.rpc_backend)
+        self.messaging_conf.transport_url = 'fake:/vhost'
+        self.assertEqual('fake', self.messaging_conf.transport_driver)
+        self.assertEqual('fake', conf.rpc_backend)
+        self.assertEqual('fake:/vhost', self.messaging_conf.transport_url)
+        self.assertEqual('fake:/vhost', conf.transport_url)
 
     def test_old_notifications_config_override(self):
         conf = self.messaging_conf.conf
diff --git a/oslo_messaging/tests/utils.py b/oslo_messaging/tests/utils.py
index 451b9551b..c5b25e338 100644
--- a/oslo_messaging/tests/utils.py
+++ b/oslo_messaging/tests/utils.py
@@ -35,7 +35,7 @@ class BaseTestCase(base.BaseTestCase):
 
         from oslo_messaging import conffixture
         self.messaging_conf = self.useFixture(conffixture.ConfFixture(conf))
-        self.messaging_conf.transport_driver = 'fake'
+        self.messaging_conf.transport_url = 'fake:/'
         self.conf = self.messaging_conf.conf
 
         self.conf.project = 'project'