horizon/openstack_dashboard/test/unit/test_themes.py
Akihiro Motoki 372b75c222 Do not load openstack_dashboard.settings in unit tests
The previous behavior depends on different values for
SELECTABLE_THEMES and it seems this is the reason that test_themes
imported openstack_dashboard.settings.
If we override a value in django.conf.settings, we can use
override_settings decorator. This commit uses it and
we can now avoid importing openstack_dashboard.settings in UT.

Change-Id: Id1b7b7e431b86e725ad897613ca38f423a67e52d
Closes-Bug: #1809842
2018-12-28 23:06:38 +09:00

35 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.
from django.conf import settings
from django.test.utils import override_settings
from openstack_dashboard.templatetags import themes
from openstack_dashboard.test import helpers as test
class SelectableThemeTest(test.TestCase):
def test_selectable_theme_defaults(self):
selectable = settings.SELECTABLE_THEMES
available = settings.AVAILABLE_THEMES
# NOTE(e0ne): veryfy that by default 'selectable' are the same as
# 'available' list
self.assertEqual(selectable, available)
@override_settings(SELECTABLE_THEMES=[
('default', 'Default', 'themes/default'),
])
def test_selectable_override(self):
selectable = themes.themes()
available = themes.settings.AVAILABLE_THEMES
self.assertNotEqual(selectable, available)