Use the ldap fixture to simplify tests

Change-Id: I80dd5e2f40eea2c62ac763fb962e740fb698c9b6
This commit is contained in:
David Stanek 2016-06-22 00:24:13 +00:00
parent 2787e2f7cc
commit d0de3f5379
3 changed files with 10 additions and 28 deletions

View File

@ -15,11 +15,10 @@ import ldap
from oslo_config import cfg
from keystone.common import cache
from keystone.identity.backends.ldap import common as common_ldap
from keystone.tests import unit
from keystone.tests.unit import default_fixtures
from keystone.tests.unit import fakeldap
from keystone.tests.unit.ksfixtures import database
from keystone.tests.unit.ksfixtures import ldapdb
CONF = cfg.CONF
@ -39,22 +38,15 @@ class BaseBackendLdapCommon(object):
def setUp(self):
super(BaseBackendLdapCommon, self).setUp()
self.useFixture(ldapdb.LDAPDatabase())
common_ldap.register_handler('fake://', fakeldap.FakeLdap)
self.load_backends()
self.load_fixtures(default_fixtures)
self.addCleanup(common_ldap._HANDLERS.clear)
self.addCleanup(self.clear_database)
def _get_domain_fixture(self):
"""Return the static domain, since domains in LDAP are read-only."""
return self.resource_api.get_domain(CONF.identity.default_domain_id)
def clear_database(self):
for shelf in fakeldap.FakeShelves:
fakeldap.FakeShelves[shelf].clear()
def get_config(self, domain_id):
# Only one conf structure unless we are using separate domain backends
return CONF
@ -111,7 +103,6 @@ class BaseBackendLdapIdentitySqlEverythingElse(unit.SQLDriverOverrides):
def setUp(self):
sqldb = self.useFixture(database.Database())
super(BaseBackendLdapIdentitySqlEverythingElse, self).setUp()
self.clear_database()
self.load_backends()
cache.configure_cache()

View File

@ -27,6 +27,7 @@ from keystone.tests import unit
from keystone.tests.unit import default_fixtures
from keystone.tests.unit import fakeldap
from keystone.tests.unit.ksfixtures import database
from keystone.tests.unit.ksfixtures import ldapdb
CONF = cfg.CONF
@ -205,20 +206,13 @@ class LDAPDeleteTreeTest(unit.TestCase):
def setUp(self):
super(LDAPDeleteTreeTest, self).setUp()
common_ldap.register_handler('fake://',
fakeldap.FakeLdapNoSubtreeDelete)
self.useFixture(
ldapdb.LDAPDatabase(dbclass=fakeldap.FakeLdapNoSubtreeDelete))
self.useFixture(database.Database(self.sql_driver_version_overrides))
self.load_backends()
self.load_fixtures(default_fixtures)
self.addCleanup(self.clear_database)
self.addCleanup(common_ldap._HANDLERS.clear)
def clear_database(self):
for shelf in fakeldap.FakeShelves:
fakeldap.FakeShelves[shelf].clear()
def config_overrides(self):
super(LDAPDeleteTreeTest, self).config_overrides()
self.config_fixture.config(group='identity', driver='ldap')
@ -375,19 +369,13 @@ class LDAPPagedResultsTest(unit.TestCase):
def setUp(self):
super(LDAPPagedResultsTest, self).setUp()
self.clear_database()
common_ldap.register_handler('fake://', fakeldap.FakeLdap)
self.addCleanup(common_ldap._HANDLERS.clear)
self.useFixture(ldapdb.LDAPDatabase())
self.useFixture(database.Database(self.sql_driver_version_overrides))
self.load_backends()
self.load_fixtures(default_fixtures)
def clear_database(self):
for shelf in fakeldap.FakeShelves:
fakeldap.FakeShelves[shelf].clear()
def config_overrides(self):
super(LDAPPagedResultsTest, self).config_overrides()
self.config_fixture.config(group='identity', driver='ldap')

View File

@ -20,11 +20,14 @@ from keystone.tests.unit import fakeldap
class LDAPDatabase(fixtures.Fixture):
"""A fixture for setting up and tearing down an LDAP database."""
def __init__(self, dbclass=fakeldap.FakeLdap):
self._dbclass = dbclass
def setUp(self):
super(LDAPDatabase, self).setUp()
self.clear()
common_ldap._HANDLERS.clear()
common_ldap.register_handler('fake://', fakeldap.FakeLdap)
common_ldap.register_handler('fake://', self._dbclass)
# TODO(dstanek): switch the flow here
self.addCleanup(self.clear)
self.addCleanup(common_ldap._HANDLERS.clear)