12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- from django.test import TestCase
- from misago.conf import CACHE_NAME
- from misago.conf.dynamicsettings import DynamicSettings
- from misago.conf.models import Setting, SettingsGroup
- from . import override_dynamic_settings
- cache_versions = {CACHE_NAME: "abcdefgh"}
- class OverrideDynamicSettingsTests(TestCase):
- def test_dynamic_setting_can_be_overridden_using_context_manager(self):
- settings = DynamicSettings(cache_versions)
- assert settings.forum_name == "Misago"
- with override_dynamic_settings(forum_name="Overrided"):
- assert settings.forum_name == "Overrided"
- assert settings.forum_name == "Misago"
- def test_dynamic_setting_can_be_overridden_using_decorator(self):
- @override_dynamic_settings(forum_name="Overrided")
- def decorated_function(settings):
- return settings.forum_name
- settings = DynamicSettings(cache_versions)
- assert settings.forum_name == "Misago"
- assert decorated_function(settings) == "Overrided"
- assert settings.forum_name == "Misago"
- def test_lazy_dynamic_setting_can_be_overridden_using_context_manager(self):
- settings_group = SettingsGroup.objects.create(key="test", name="Test")
- setting = Setting.objects.create(
- group=settings_group,
- setting="lazy_setting",
- name="Lazy setting",
- dry_value="Hello",
- is_lazy=True,
- field_extra={},
- )
- settings = DynamicSettings(cache_versions)
- assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
- with override_dynamic_settings(lazy_setting="Overrided"):
- assert settings.get_lazy_setting_value("lazy_setting") == "Overrided"
- assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
- def test_lazy_dynamic_setting_can_be_overridden_using_decorator(self):
- @override_dynamic_settings(lazy_setting="Overrided")
- def decorated_function(settings):
- return settings.get_lazy_setting_value("lazy_setting")
- settings_group = SettingsGroup.objects.create(key="test", name="Test")
- setting = Setting.objects.create(
- group=settings_group,
- setting="lazy_setting",
- name="Lazy setting",
- dry_value="Hello",
- is_lazy=True,
- field_extra={},
- )
-
- settings = DynamicSettings(cache_versions)
- assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
- assert decorated_function(settings) == "Overrided"
- assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
|