Merge "Adds a fixture for setting up the cache"

This commit is contained in:
Jenkins 2014-02-13 14:41:41 +00:00 committed by Gerrit Code Review
commit 953a1bab55
3 changed files with 56 additions and 9 deletions

View File

@ -50,7 +50,6 @@ from keystone.common import environment
environment.use_eventlet() environment.use_eventlet()
from keystone import auth from keystone import auth
from keystone.common import cache
from keystone.common import dependency from keystone.common import dependency
from keystone.common import kvs from keystone.common import kvs
from keystone.common.kvs import core as kvs_core from keystone.common.kvs import core as kvs_core
@ -63,6 +62,7 @@ from keystone.openstack.common.db.sqlalchemy import session
from keystone.openstack.common import log from keystone.openstack.common import log
from keystone.openstack.common import timeutils from keystone.openstack.common import timeutils
from keystone import service from keystone import service
from keystone.tests import fixtures as ksfixtures
# NOTE(dstanek): Tests inheriting from TestCase depend on having the # NOTE(dstanek): Tests inheriting from TestCase depend on having the
# policy_file command-line option declared before setUp runs. Importing the # policy_file command-line option declared before setUp runs. Importing the
@ -326,16 +326,9 @@ class TestCase(testtools.TestCase):
self.opt(policy_file=dirs.etc('policy.json')) self.opt(policy_file=dirs.etc('policy.json'))
# NOTE(morganfainberg): The only way to reconfigure the
# CacheRegion object on each setUp() call is to remove the
# .backend property.
self.addCleanup(delattr, cache.REGION, 'backend')
# ensure the cache region instance is setup
cache.configure_cache_region(cache.REGION)
self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG)) self.logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
warnings.filterwarnings('ignore', category=DeprecationWarning) warnings.filterwarnings('ignore', category=DeprecationWarning)
self.useFixture(ksfixtures.Cache())
# Clear the registry of providers so that providers from previous # Clear the registry of providers so that providers from previous
# tests aren't used. # tests aren't used.

View File

@ -0,0 +1,16 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from keystone.tests.fixtures.cache import Cache # flake8: noqa

38
keystone/tests/fixtures/cache.py vendored Normal file
View File

@ -0,0 +1,38 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import fixtures
from keystone.common import cache
class Cache(fixtures.Fixture):
"""A fixture for setting up and tearing down the cache between test cases.
"""
def setUp(self):
# NOTE(dstanek): We must remove the existing cache backend in the
# setUp instead of the tearDown because it defaults to a no-op cache
# and we want the configure call below to create the correct backend.
# NOTE(morganfainberg): The only way to reconfigure the CacheRegion
# object on each setUp() call is to remove the .backend property.
if hasattr(cache.REGION, 'backend'):
del cache.REGION.backend
# ensure the cache region instance is setup
cache.configure_cache_region(cache.REGION)
super(Cache, self).setUp()