Files
mayan-edms/mayan/apps/smart_settings/tests/test_utils.py
Roberto Rosario 4e65a436c7 Fix evaluation priority of the bootstrap settings
Closes GitLab issue #702. Thanks to Kevin Pawsey (@kevinpawsey) for
the report and the help debuging the issue.

Signed-off-by: Roberto Rosario <roberto.rosario@mayan-edms.com>
2019-12-09 00:21:15 -04:00

62 lines
1.9 KiB
Python

from __future__ import absolute_import, unicode_literals
from mayan.apps.common.tests.base import BaseTestCase
from mayan.apps.common.tests.mixins import EnvironmentTestCaseMixin
from .literals import (
TEST_BOOTSTAP_SETTING_NAME, TEST_SETTING_VALUE,
TEST_SETTING_VALUE_OVERRIDE
)
from .mixins import BoostrapSettingTestMixin
class BoostrapSettingTestCase(
BoostrapSettingTestMixin, EnvironmentTestCaseMixin, BaseTestCase
):
def setUp(self):
super(BoostrapSettingTestCase, self).setUp()
self._register_test_boostrap_setting()
self._create_test_bootstrap_singleton()
def test_bootstrap_environment_overrides_config(self):
self._set_environment_variable(
name='MAYAN_{}'.format(TEST_BOOTSTAP_SETTING_NAME),
value=TEST_SETTING_VALUE_OVERRIDE
)
self._create_test_config_file(value=TEST_SETTING_VALUE)
self.assertEqual(
self.test_globals[TEST_BOOTSTAP_SETTING_NAME],
TEST_SETTING_VALUE_OVERRIDE
)
def test_bootstrap_config_overrides_settings(self):
self.test_globals[TEST_BOOTSTAP_SETTING_NAME] = TEST_SETTING_VALUE
self._create_test_config_file(value=TEST_SETTING_VALUE_OVERRIDE)
self.assertEqual(
self.test_globals[TEST_BOOTSTAP_SETTING_NAME],
TEST_SETTING_VALUE_OVERRIDE
)
def test_bootstrap_settings_overrides_default(self):
self.test_globals[
TEST_BOOTSTAP_SETTING_NAME
] = TEST_SETTING_VALUE_OVERRIDE
self.setting_namespace.update_globals()
self.assertEqual(
self.test_globals[TEST_BOOTSTAP_SETTING_NAME],
TEST_SETTING_VALUE_OVERRIDE
)
def test_bootstrap_default(self):
self.setting_namespace.update_globals()
self.assertEqual(
self.test_globals[TEST_BOOTSTAP_SETTING_NAME], 'value default'
)