diff options
| author | Bouke Haarsma <bouke@webatoom.nl> | 2013-10-14 15:14:17 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-10-21 11:31:05 -0400 |
| commit | 3565efaa451db6eb735a085ea6aae3fe86e6d283 (patch) | |
| tree | 7030dcebfb01ef75bd1d6b308fd21caea3f20034 /tests/template_tests | |
| parent | 499cd912ca36597df737df73c8f91ffab36c83d9 (diff) | |
Removed some direct settings manipulations in tests; refs #21230.
Diffstat (limited to 'tests/template_tests')
| -rw-r--r-- | tests/template_tests/test_loaders.py | 55 | ||||
| -rw-r--r-- | tests/template_tests/test_response.py | 35 | ||||
| -rw-r--r-- | tests/template_tests/tests.py | 36 |
3 files changed, 47 insertions, 79 deletions
diff --git a/tests/template_tests/test_loaders.py b/tests/template_tests/test_loaders.py index ebdac4b9c4..1eef3942a6 100644 --- a/tests/template_tests/test_loaders.py +++ b/tests/template_tests/test_loaders.py @@ -23,6 +23,8 @@ except ImportError: from django.template import TemplateDoesNotExist, Context from django.template.loaders.eggs import Loader as EggLoader from django.template import loader +from django.test import TestCase +from django.test.utils import override_settings from django.utils import six from django.utils._os import upath from django.utils.six import StringIO @@ -46,7 +48,8 @@ def create_egg(name, resources): @unittest.skipUnless(pkg_resources, 'setuptools is not installed') -class EggLoaderTest(unittest.TestCase): +@override_settings(INSTALLED_APPS=[]) +class EggLoaderTest(TestCase): def setUp(self): # Defined here b/c at module scope we may not have pkg_resources class MockProvider(pkg_resources.NullProvider): @@ -73,51 +76,42 @@ class EggLoaderTest(unittest.TestCase): os.path.normcase('templates/y.html'): StringIO("y"), os.path.normcase('templates/x.txt'): StringIO("x"), }) - self._old_installed_apps = settings.INSTALLED_APPS - settings.INSTALLED_APPS = [] - - def tearDown(self): - settings.INSTALLED_APPS = self._old_installed_apps + @override_settings(INSTALLED_APPS=['egg_empty']) def test_empty(self): "Loading any template on an empty egg should fail" - settings.INSTALLED_APPS = ['egg_empty'] egg_loader = EggLoader() self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "not-existing.html") + @override_settings(INSTALLED_APPS=['egg_1']) def test_non_existing(self): "Template loading fails if the template is not in the egg" - settings.INSTALLED_APPS = ['egg_1'] egg_loader = EggLoader() self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "not-existing.html") + @override_settings(INSTALLED_APPS=['egg_1']) def test_existing(self): "A template can be loaded from an egg" - settings.INSTALLED_APPS = ['egg_1'] egg_loader = EggLoader() contents, template_name = egg_loader.load_template_source("y.html") self.assertEqual(contents, "y") self.assertEqual(template_name, "egg:egg_1:templates/y.html") + @override_settings(INSTALLED_APPS=[]) def test_not_installed(self): "Loading an existent template from an egg not included in INSTALLED_APPS should fail" - settings.INSTALLED_APPS = [] egg_loader = EggLoader() self.assertRaises(TemplateDoesNotExist, egg_loader.load_template_source, "y.html") -class CachedLoader(unittest.TestCase): - def setUp(self): - self.old_TEMPLATE_LOADERS = settings.TEMPLATE_LOADERS - settings.TEMPLATE_LOADERS = ( - ('django.template.loaders.cached.Loader', ( - 'django.template.loaders.filesystem.Loader', - ) - ), - ) - def tearDown(self): - settings.TEMPLATE_LOADERS = self.old_TEMPLATE_LOADERS - +@override_settings( + TEMPLATE_LOADERS = ( + ('django.template.loaders.cached.Loader', ( + 'django.template.loaders.filesystem.Loader', + )), + ) +) +class CachedLoader(TestCase): def test_templatedir_caching(self): "Check that the template directories form part of the template cache key. Refs #13573" # Retrive a template specifying a template directory to check @@ -144,17 +138,12 @@ class CachedLoader(unittest.TestCase): "Cached template loader doesn't cache file lookup misses. It should.") -class RenderToStringTest(unittest.TestCase): - - def setUp(self): - self._old_TEMPLATE_DIRS = settings.TEMPLATE_DIRS - settings.TEMPLATE_DIRS = ( - os.path.join(os.path.dirname(upath(__file__)), 'templates'), - ) - - def tearDown(self): - settings.TEMPLATE_DIRS = self._old_TEMPLATE_DIRS - +@override_settings( + TEMPLATE_DIRS = ( + os.path.join(os.path.dirname(upath(__file__)), 'templates'), + ) +) +class RenderToStringTest(TestCase): def test_basic(self): self.assertEqual(loader.render_to_string('test_context.html'), 'obj:') diff --git a/tests/template_tests/test_response.py b/tests/template_tests/test_response.py index e8a9ee8a89..063fba3047 100644 --- a/tests/template_tests/test_response.py +++ b/tests/template_tests/test_response.py @@ -296,41 +296,30 @@ class TemplateResponseTest(TestCase): pickle.dumps(unpickled_response) +@override_settings( + MIDDLEWARE_CLASSES=list(settings.MIDDLEWARE_CLASSES) + [ + 'template_tests.test_response.CustomURLConfMiddleware' + ] +) class CustomURLConfTest(TestCase): urls = 'template_tests.urls' - def setUp(self): - self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES - settings.MIDDLEWARE_CLASSES = list(settings.MIDDLEWARE_CLASSES) + [ - 'template_tests.test_response.CustomURLConfMiddleware' - ] - - def tearDown(self): - settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES - def test_custom_urlconf(self): response = self.client.get('/template_response_view/') self.assertEqual(response.status_code, 200) self.assertContains(response, 'This is where you can find the snark: /snark/') +@override_settings( + CACHE_MIDDLEWARE_SECONDS=2.0, + MIDDLEWARE_CLASSES=list(settings.MIDDLEWARE_CLASSES) + [ + 'django.middleware.cache.FetchFromCacheMiddleware', + 'django.middleware.cache.UpdateCacheMiddleware', + ] +) class CacheMiddlewareTest(TestCase): urls = 'template_tests.alternate_urls' - def setUp(self): - self.old_MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES - self.CACHE_MIDDLEWARE_SECONDS = settings.CACHE_MIDDLEWARE_SECONDS - - settings.CACHE_MIDDLEWARE_SECONDS = 2.0 - settings.MIDDLEWARE_CLASSES = list(settings.MIDDLEWARE_CLASSES) + [ - 'django.middleware.cache.FetchFromCacheMiddleware', - 'django.middleware.cache.UpdateCacheMiddleware', - ] - - def tearDown(self): - settings.MIDDLEWARE_CLASSES = self.old_MIDDLEWARE_CLASSES - settings.CACHE_MIDDLEWARE_SECONDS = self.CACHE_MIDDLEWARE_SECONDS - def test_middleware_caching(self): response = self.client.get('/template_response_view/') self.assertEqual(response.status_code, 200) diff --git a/tests/template_tests/tests.py b/tests/template_tests/tests.py index 98ca14ab42..ad6b4433da 100644 --- a/tests/template_tests/tests.py +++ b/tests/template_tests/tests.py @@ -201,10 +201,10 @@ class TemplateLoaderTests(TestCase): test_template_sources('/DIR1/index.HTML', template_dirs, ['/DIR1/index.HTML']) + # Turn TEMPLATE_DEBUG on, so that the origin file name will be kept with + # the compiled templates. + @override_settings(TEMPLATE_DEBUG=True) def test_loader_debug_origin(self): - # Turn TEMPLATE_DEBUG on, so that the origin file name will be kept with - # the compiled templates. - old_td, settings.TEMPLATE_DEBUG = settings.TEMPLATE_DEBUG, True old_loaders = loader.template_source_loaders try: @@ -237,7 +237,6 @@ class TemplateLoaderTests(TestCase): 'Cached template loaded through cached loader has incorrect name for debug page: %s' % template_name) finally: loader.template_source_loaders = old_loaders - settings.TEMPLATE_DEBUG = old_td def test_loader_origin(self): with self.settings(TEMPLATE_DEBUG=True): @@ -253,15 +252,14 @@ class TemplateLoaderTests(TestCase): template = loader.get_template('login.html') self.assertEqual(template.origin, None) + # TEMPLATE_DEBUG must be true, otherwise the exception raised + # during {% include %} processing will be suppressed. + @override_settings(TEMPLATE_DEBUG=True) def test_include_missing_template(self): """ Tests that the correct template is identified as not existing when {% include %} specifies a template that does not exist. """ - - # TEMPLATE_DEBUG must be true, otherwise the exception raised - # during {% include %} processing will be suppressed. - old_td, settings.TEMPLATE_DEBUG = settings.TEMPLATE_DEBUG, True old_loaders = loader.template_source_loaders try: @@ -276,13 +274,14 @@ class TemplateLoaderTests(TestCase): tmpl = loader.select_template([load_name]) r = tmpl.render(template.Context({})) except template.TemplateDoesNotExist as e: - settings.TEMPLATE_DEBUG = old_td self.assertEqual(e.args[0], 'missing.html') self.assertEqual(r, None, 'Template rendering unexpectedly succeeded, produced: ->%r<-' % r) finally: loader.template_source_loaders = old_loaders - settings.TEMPLATE_DEBUG = old_td + # TEMPLATE_DEBUG must be true, otherwise the exception raised + # during {% include %} processing will be suppressed. + @override_settings(TEMPLATE_DEBUG=True) def test_extends_include_missing_baseloader(self): """ Tests that the correct template is identified as not existing @@ -290,10 +289,6 @@ class TemplateLoaderTests(TestCase): that template has an {% include %} of something that does not exist. See #12787. """ - - # TEMPLATE_DEBUG must be true, otherwise the exception raised - # during {% include %} processing will be suppressed. - old_td, settings.TEMPLATE_DEBUG = settings.TEMPLATE_DEBUG, True old_loaders = loader.template_source_loaders try: @@ -308,20 +303,18 @@ class TemplateLoaderTests(TestCase): try: r = tmpl.render(template.Context({})) except template.TemplateDoesNotExist as e: - settings.TEMPLATE_DEBUG = old_td self.assertEqual(e.args[0], 'missing.html') self.assertEqual(r, None, 'Template rendering unexpectedly succeeded, produced: ->%r<-' % r) finally: loader.template_source_loaders = old_loaders - settings.TEMPLATE_DEBUG = old_td + @override_settings(TEMPLATE_DEBUG=True) def test_extends_include_missing_cachedloader(self): """ Same as test_extends_include_missing_baseloader, only tests behavior of the cached loader instead of BaseLoader. """ - old_td, settings.TEMPLATE_DEBUG = settings.TEMPLATE_DEBUG, True old_loaders = loader.template_source_loaders try: @@ -348,7 +341,6 @@ class TemplateLoaderTests(TestCase): self.assertEqual(r, None, 'Template rendering unexpectedly succeeded, produced: ->%r<-' % r) finally: loader.template_source_loaders = old_loaders - settings.TEMPLATE_DEBUG = old_td def test_include_template_argument(self): """ @@ -1822,17 +1814,15 @@ class TemplateTests(TransRealMixin, TestCase): return tests -class TemplateTagLoading(unittest.TestCase): +class TemplateTagLoading(TestCase): def setUp(self): self.old_path = sys.path[:] - self.old_apps = settings.INSTALLED_APPS self.egg_dir = '%s/eggs' % os.path.dirname(upath(__file__)) self.old_tag_modules = template_base.templatetags_modules template_base.templatetags_modules = [] def tearDown(self): - settings.INSTALLED_APPS = self.old_apps sys.path = self.old_path template_base.templatetags_modules = self.old_tag_modules @@ -1845,11 +1835,11 @@ class TemplateTagLoading(unittest.TestCase): self.assertTrue('ImportError' in e.args[0]) self.assertTrue('Xtemplate' in e.args[0]) + @override_settings(INSTALLED_APPS=('tagsegg',)) def test_load_error_egg(self): ttext = "{% load broken_egg %}" egg_name = '%s/tagsegg.egg' % self.egg_dir sys.path.append(egg_name) - settings.INSTALLED_APPS = ('tagsegg',) self.assertRaises(template.TemplateSyntaxError, template.Template, ttext) try: template.Template(ttext) @@ -1857,11 +1847,11 @@ class TemplateTagLoading(unittest.TestCase): self.assertTrue('ImportError' in e.args[0]) self.assertTrue('Xtemplate' in e.args[0]) + @override_settings(INSTALLED_APPS=('tagsegg',)) def test_load_working_egg(self): ttext = "{% load working_egg %}" egg_name = '%s/tagsegg.egg' % self.egg_dir sys.path.append(egg_name) - settings.INSTALLED_APPS = ('tagsegg',) template.Template(ttext) |
