summaryrefslogtreecommitdiffstats
path: root/keystone/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'keystone/test.py')
-rw-r--r--keystone/test.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/keystone/test.py b/keystone/test.py
index 2c2be577..d06ea4c5 100644
--- a/keystone/test.py
+++ b/keystone/test.py
@@ -38,6 +38,7 @@ environment.use_eventlet()
from keystone import assignment
from keystone import catalog
+from keystone.common import dependency
from keystone.common import kvs
from keystone.common import logging
from keystone.common import sql
@@ -51,6 +52,7 @@ from keystone import identity
from keystone.openstack.common import timeutils
from keystone import policy
from keystone import token
+from keystone.token import provider as token_provider
from keystone import trust
@@ -240,6 +242,11 @@ class TestCase(NoModule, unittest.TestCase):
for path in self._paths:
if path in sys.path:
sys.path.remove(path)
+
+ # Clear the registry of providers so that providers from previous
+ # tests aren't used.
+ dependency.reset()
+
kvs.INMEMDB.clear()
CONF.reset()
@@ -253,8 +260,14 @@ class TestCase(NoModule, unittest.TestCase):
def load_backends(self):
"""Initializes each manager and assigns them to an attribute."""
+
+ # TODO(blk-u): Shouldn't need to clear the registry here, but some
+ # tests call load_backends multiple times. These should be fixed to
+ # only call load_backends once.
+ dependency.reset()
+
for manager in [assignment, catalog, credential, ec2, identity, policy,
- token, trust]:
+ token, token_provider, trust]:
manager_name = '%s_api' % manager.__name__.split('.')[-1]
setattr(self, manager_name, manager.Manager())