test_overridding_dynamic_settings.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import pytest
  2. from ..dynamicsettings import DynamicSettings
  3. from ..test import override_dynamic_settings
  4. def test_dynamic_setting_can_be_overridden_using_context_manager(dynamic_settings):
  5. assert dynamic_settings.forum_name == "Misago"
  6. with override_dynamic_settings(forum_name="Overrided"):
  7. assert dynamic_settings.forum_name == "Overrided"
  8. assert dynamic_settings.forum_name == "Misago"
  9. def test_dynamic_setting_can_be_overridden_using_decorator(dynamic_settings):
  10. @override_dynamic_settings(forum_name="Overrided")
  11. def decorated_function(settings):
  12. return settings.forum_name
  13. assert dynamic_settings.forum_name == "Misago"
  14. assert decorated_function(dynamic_settings) == "Overrided"
  15. assert dynamic_settings.forum_name == "Misago"
  16. def test_lazy_dynamic_setting_can_be_overridden_using_context_manager(
  17. cache_versions, lazy_setting
  18. ):
  19. settings = DynamicSettings(cache_versions)
  20. assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
  21. with override_dynamic_settings(lazy_setting="Overrided"):
  22. assert settings.get_lazy_setting_value("lazy_setting") == "Overrided"
  23. assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
  24. def test_lazy_dynamic_setting_can_be_overridden_using_decorator(
  25. cache_versions, lazy_setting
  26. ):
  27. @override_dynamic_settings(lazy_setting="Overrided")
  28. def decorated_function(settings):
  29. return settings.get_lazy_setting_value("lazy_setting")
  30. settings = DynamicSettings(cache_versions)
  31. assert settings.get_lazy_setting_value("lazy_setting") == "Hello"
  32. assert decorated_function(settings) == "Overrided"
  33. assert settings.get_lazy_setting_value("lazy_setting") == "Hello"