Loading django/test/testcases.py +6 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ class SimpleTestCase(unittest.TestCase): # The class we'll use for the test client self.client. # Can be overridden in derived classes. client_class = Client _custom_settings = None def __call__(self, result=None): """ Loading Loading @@ -193,6 +194,9 @@ class SimpleTestCase(unittest.TestCase): * If the class has a 'urls' attribute, replace ROOT_URLCONF with it. * Clearing the mail test outbox. """ if self._custom_settings: self._overridden = override_settings(**self._custom_settings) self._overridden.enable() self.client = self.client_class() self._urlconf_setup() mail.outbox = [] Loading @@ -210,6 +214,8 @@ class SimpleTestCase(unittest.TestCase): * Putting back the original ROOT_URLCONF if it was changed. """ self._urlconf_teardown() if self._custom_settings: self._overridden.disable() def _urlconf_teardown(self): set_urlconf(None) Loading django/test/utils.py +5 −12 Original line number Diff line number Diff line Loading @@ -203,18 +203,11 @@ class override_settings(object): raise Exception( "Only subclasses of Django SimpleTestCase can be decorated " "with override_settings") original_pre_setup = test_func._pre_setup original_post_teardown = test_func._post_teardown def _pre_setup(innerself): self.enable() original_pre_setup(innerself) def _post_teardown(innerself): original_post_teardown(innerself) self.disable() test_func._pre_setup = _pre_setup test_func._post_teardown = _post_teardown if test_func._custom_settings: test_func._custom_settings = dict( test_func._custom_settings, **self.options) else: test_func._custom_settings = self.options return test_func else: @wraps(test_func) Loading tests/settings_tests/tests.py +10 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,16 @@ class ClassDecoratedTestCase(ClassDecoratedTestCaseSuper): self.fail() @override_settings(TEST='override-parent') class ParentDecoratedTestCase(TestCase): pass @override_settings(TEST='override-child') class ChildDecoratedTestCase(ParentDecoratedTestCase): def test_override_settings_inheritance(self): self.assertEqual(settings.TEST, 'override-child') class SettingsTests(TestCase): def setUp(self): self.testvalue = None Loading Loading
django/test/testcases.py +6 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,7 @@ class SimpleTestCase(unittest.TestCase): # The class we'll use for the test client self.client. # Can be overridden in derived classes. client_class = Client _custom_settings = None def __call__(self, result=None): """ Loading Loading @@ -193,6 +194,9 @@ class SimpleTestCase(unittest.TestCase): * If the class has a 'urls' attribute, replace ROOT_URLCONF with it. * Clearing the mail test outbox. """ if self._custom_settings: self._overridden = override_settings(**self._custom_settings) self._overridden.enable() self.client = self.client_class() self._urlconf_setup() mail.outbox = [] Loading @@ -210,6 +214,8 @@ class SimpleTestCase(unittest.TestCase): * Putting back the original ROOT_URLCONF if it was changed. """ self._urlconf_teardown() if self._custom_settings: self._overridden.disable() def _urlconf_teardown(self): set_urlconf(None) Loading
django/test/utils.py +5 −12 Original line number Diff line number Diff line Loading @@ -203,18 +203,11 @@ class override_settings(object): raise Exception( "Only subclasses of Django SimpleTestCase can be decorated " "with override_settings") original_pre_setup = test_func._pre_setup original_post_teardown = test_func._post_teardown def _pre_setup(innerself): self.enable() original_pre_setup(innerself) def _post_teardown(innerself): original_post_teardown(innerself) self.disable() test_func._pre_setup = _pre_setup test_func._post_teardown = _post_teardown if test_func._custom_settings: test_func._custom_settings = dict( test_func._custom_settings, **self.options) else: test_func._custom_settings = self.options return test_func else: @wraps(test_func) Loading
tests/settings_tests/tests.py +10 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,16 @@ class ClassDecoratedTestCase(ClassDecoratedTestCaseSuper): self.fail() @override_settings(TEST='override-parent') class ParentDecoratedTestCase(TestCase): pass @override_settings(TEST='override-child') class ChildDecoratedTestCase(ParentDecoratedTestCase): def test_override_settings_inheritance(self): self.assertEqual(settings.TEST, 'override-child') class SettingsTests(TestCase): def setUp(self): self.testvalue = None Loading