summaryrefslogtreecommitdiff
path: root/tests/settings_tests
diff options
context:
space:
mode:
authorCarl Meyer <carl@oddbird.net>2014-01-20 20:25:33 -0700
committerCarl Meyer <carl@oddbird.net>2014-01-20 20:25:33 -0700
commit6070a5d6a6950bdbd93853c4b1636c7eec820b20 (patch)
tree055100353564330e624b808cf49a04ce031e60ef /tests/settings_tests
parent56516ade5ebde53af16ffdf97d3dce8d27a31e4b (diff)
downloaddjango-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.py32
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'))