summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJannis Leidel <jannis@leidel.info>2011-05-06 13:29:24 +0000
committerJannis Leidel <jannis@leidel.info>2011-05-06 13:29:24 +0000
commit0dc6420b3ebddd7bc2a0059b225d54ac19d4d901 (patch)
tree4502a9dc75e486e1197da3fe6b1a99312f5a6bd3 /tests
parent21027a05c2b82045c376d5fef1c9f5502238e684 (diff)
Added TestCase.settings context manager to easily override settings in test methods.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16165 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/regressiontests/settings_tests/tests.py30
1 files changed, 27 insertions, 3 deletions
diff --git a/tests/regressiontests/settings_tests/tests.py b/tests/regressiontests/settings_tests/tests.py
index 12e1e2d9f6..175a17d2ff 100644
--- a/tests/regressiontests/settings_tests/tests.py
+++ b/tests/regressiontests/settings_tests/tests.py
@@ -1,8 +1,31 @@
from django.conf import settings
-from django.utils import unittest
+from django.test import TestCase
+class SettingsTests(TestCase):
-class SettingsTests(unittest.TestCase):
+ def test_override(self):
+ settings.TEST = 'test'
+ self.assertEqual('test', settings.TEST)
+ with self.settings(TEST='override'):
+ self.assertEqual('override', settings.TEST)
+ self.assertEqual('test', settings.TEST)
+ del settings.TEST
+
+ def test_override_change(self):
+ settings.TEST = 'test'
+ self.assertEqual('test', settings.TEST)
+ with self.settings(TEST='override'):
+ self.assertEqual('override', settings.TEST)
+ settings.TEST = 'test2'
+ self.assertEqual('test', settings.TEST)
+ del settings.TEST
+
+ def test_override_doesnt_leak(self):
+ self.assertRaises(AttributeError, getattr, settings, 'TEST')
+ with self.settings(TEST='override'):
+ self.assertEqual('override', settings.TEST)
+ settings.TEST = 'test'
+ self.assertRaises(AttributeError, getattr, settings, 'TEST')
#
# Regression tests for #10130: deleting settings.
@@ -18,7 +41,8 @@ class SettingsTests(unittest.TestCase):
self.assertRaises(TypeError, delattr, settings, '_wrapped')
-class TrailingSlashURLTests(unittest.TestCase):
+
+class TrailingSlashURLTests(TestCase):
settings_module = settings
def setUp(self):