diff options
author | Carl Meyer <carl@oddbird.net> | 2014-01-20 20:25:33 -0700 |
---|---|---|
committer | Carl Meyer <carl@oddbird.net> | 2014-01-20 20:25:33 -0700 |
commit | 6070a5d6a6950bdbd93853c4b1636c7eec820b20 (patch) | |
tree | 055100353564330e624b808cf49a04ce031e60ef /tests/settings_tests | |
parent | 56516ade5ebde53af16ffdf97d3dce8d27a31e4b (diff) | |
download | django-6070a5d6a6950bdbd93853c4b1636c7eec820b20.tar.gz |
Fixes #21833 -- Fix UserSettingsHolder.is_overridden() and add tests.
Diffstat (limited to 'tests/settings_tests')
-rw-r--r-- | tests/settings_tests/tests.py | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/tests/settings_tests/tests.py b/tests/settings_tests/tests.py index 9b2f5c79fa..4ff6938f58 100644 --- a/tests/settings_tests/tests.py +++ b/tests/settings_tests/tests.py @@ -1,8 +1,10 @@ import os +import sys +from types import ModuleType import unittest import warnings -from django.conf import settings +from django.conf import LazySettings, Settings, settings from django.core.exceptions import ImproperlyConfigured from django.http import HttpRequest from django.test import (SimpleTestCase, TransactionTestCase, TestCase, @@ -404,3 +406,31 @@ class SecureProxySslHeaderTest(TestCase): req = HttpRequest() req.META['HTTP_X_FORWARDED_PROTOCOL'] = 'https' self.assertEqual(req.is_secure(), True) + + + +class IsOverriddenTest(TestCase): + def test_configure(self): + s = LazySettings() + s.configure(SECRET_KEY='foo') + + self.assertTrue(s.is_overridden('SECRET_KEY')) + + + def test_module(self): + settings_module = ModuleType('fake_settings_module') + settings_module.SECRET_KEY = 'foo' + sys.modules['fake_settings_module'] = settings_module + try: + s = Settings('fake_settings_module') + + self.assertTrue(s.is_overridden('SECRET_KEY')) + self.assertFalse(s.is_overridden('TEMPLATE_LOADERS')) + finally: + del sys.modules['fake_settings_module'] + + + def test_override(self): + self.assertFalse(settings.is_overridden('TEMPLATE_LOADERS')) + with override_settings(TEMPLATE_LOADERS=[]): + self.assertTrue(settings.is_overridden('TEMPLATE_LOADERS')) |