|
@@ -1,14 +1,16 @@
|
|
from django.test import TestCase
|
|
from django.test import TestCase
|
|
|
|
|
|
from misago.conf import CACHE_NAME
|
|
from misago.conf import CACHE_NAME
|
|
-from misago.conf.tests import override_dynamic_settings
|
|
|
|
from misago.conf.dynamicsettings import DynamicSettings
|
|
from misago.conf.dynamicsettings import DynamicSettings
|
|
|
|
+from misago.conf.models import Setting, SettingsGroup
|
|
|
|
+
|
|
|
|
+from . import override_dynamic_settings
|
|
|
|
|
|
cache_versions = {CACHE_NAME: "abcdefgh"}
|
|
cache_versions = {CACHE_NAME: "abcdefgh"}
|
|
|
|
|
|
|
|
|
|
class OverrideDynamicSettingsTests(TestCase):
|
|
class OverrideDynamicSettingsTests(TestCase):
|
|
- def test_setting_can_be_overridden_using_context_manager(self):
|
|
|
|
|
|
+ def test_dynamic_setting_can_be_overridden_using_context_manager(self):
|
|
settings = DynamicSettings(cache_versions)
|
|
settings = DynamicSettings(cache_versions)
|
|
assert settings.forum_name == "Misago"
|
|
assert settings.forum_name == "Misago"
|
|
|
|
|
|
@@ -17,7 +19,7 @@ class OverrideDynamicSettingsTests(TestCase):
|
|
|
|
|
|
assert settings.forum_name == "Misago"
|
|
assert settings.forum_name == "Misago"
|
|
|
|
|
|
- def test_setting_can_be_overridden_using_decorator(self):
|
|
|
|
|
|
+ def test_dynamic_setting_can_be_overridden_using_decorator(self):
|
|
@override_dynamic_settings(forum_name="Overrided")
|
|
@override_dynamic_settings(forum_name="Overrided")
|
|
def decorated_function(settings):
|
|
def decorated_function(settings):
|
|
return settings.forum_name
|
|
return settings.forum_name
|
|
@@ -26,3 +28,40 @@ class OverrideDynamicSettingsTests(TestCase):
|
|
assert settings.forum_name == "Misago"
|
|
assert settings.forum_name == "Misago"
|
|
assert decorated_function(settings) == "Overrided"
|
|
assert decorated_function(settings) == "Overrided"
|
|
assert settings.forum_name == "Misago"
|
|
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"
|