diff --git a/glance/tests/unit/fixtures.py b/glance/tests/unit/fixtures.py new file mode 100644 index 0000000000..e082df386d --- /dev/null +++ b/glance/tests/unit/fixtures.py @@ -0,0 +1,40 @@ +# 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. + +"""Fixtures for Glance unit tests.""" +# NOTE(mriedem): This is needed for importing from fixtures. +from __future__ import absolute_import + +import warnings + +import fixtures as pyfixtures + + +class WarningsFixture(pyfixtures.Fixture): + """Filters out warnings during test runs.""" + + def setUp(self): + super(WarningsFixture, self).setUp() + # NOTE(sdague): Make deprecation warnings only happen once. Otherwise + # this gets kind of crazy given the way that upstream python libs use + # this. + warnings.simplefilter('once', DeprecationWarning) + + # NOTE(sdague): this remains an unresolved item around the way + # forward on is_admin, the deprecation is definitely really premature. + warnings.filterwarnings( + 'ignore', + message='Policy enforcement is depending on the value of is_admin.' + ' This key is deprecated. Please update your policy ' + 'file to use the standard policy values.') + + self.addCleanup(warnings.resetwarnings) diff --git a/glance/tests/unit/test_glance_replicator.py b/glance/tests/unit/test_glance_replicator.py index 3e39b5fb55..8776e9fe1b 100644 --- a/glance/tests/unit/test_glance_replicator.py +++ b/glance/tests/unit/test_glance_replicator.py @@ -12,6 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. +from __future__ import absolute_import + import copy import os import sys diff --git a/glance/tests/unit/test_image_cache.py b/glance/tests/unit/test_image_cache.py index 89d86f5f16..f77e9ae5a2 100644 --- a/glance/tests/unit/test_image_cache.py +++ b/glance/tests/unit/test_image_cache.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from __future__ import absolute_import + from contextlib import contextmanager import datetime import hashlib diff --git a/glance/tests/unit/test_manage.py b/glance/tests/unit/test_manage.py index 80b0c670ae..6924f704cb 100644 --- a/glance/tests/unit/test_manage.py +++ b/glance/tests/unit/test_manage.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from __future__ import absolute_import + import fixtures import mock diff --git a/glance/tests/utils.py b/glance/tests/utils.py index 19899c2f20..41a455b38b 100644 --- a/glance/tests/utils.py +++ b/glance/tests/utils.py @@ -47,6 +47,7 @@ from glance.db import migration as db_migration from glance.db.sqlalchemy import alembic_migrations from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import models as db_models +from glance.tests.unit import fixtures as glance_fixtures CONF = cfg.CONF try: @@ -84,6 +85,9 @@ class BaseTestCase(testtools.TestCase): utils.safe_mkdirs(self.conf_dir) self.set_policy() + # Limit the amount of DeprecationWarning messages in the unit test logs + self.useFixture(glance_fixtures.WarningsFixture()) + def set_policy(self): conf_file = "policy.json" self.policy_file = self._copy_data_file(conf_file, self.conf_dir)