deb-keystone/keystone/tests/ksfixtures/cache.py
David Stanek f9c5d75654 Fix cache configuration checks
There were two different checks to see if a cache region was already
configured with a backend. Both were changed to use the
Region.is_configured property.

The initial reason for this change was that the hasattr approach in the
test fixture was causing some issues in Python 3. For some reason it was
forcing the __get__ lookup on the descriptor and Python 2 did not.

bp python3

Change-Id: I409656f5ede08160cc68d48e7a3a636328e3e9a6
2014-04-24 19:27:41 +00:00

37 lines
1.3 KiB
Python

# 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):
super(Cache, self).setUp()
# 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 cache.REGION.is_configured:
del cache.REGION.backend
# ensure the cache region instance is setup
cache.configure_cache_region(cache.REGION)