diff options
Diffstat (limited to 'tests/urlpatterns_reverse')
| -rw-r--r-- | tests/urlpatterns_reverse/tests.py | 64 |
1 files changed, 35 insertions, 29 deletions
diff --git a/tests/urlpatterns_reverse/tests.py b/tests/urlpatterns_reverse/tests.py index b2df2026d5..5305bd92b6 100644 --- a/tests/urlpatterns_reverse/tests.py +++ b/tests/urlpatterns_reverse/tests.py @@ -14,6 +14,7 @@ from django.core.urlresolvers import (reverse, reverse_lazy, resolve, get_callab from django.http import HttpRequest, HttpResponseRedirect, HttpResponsePermanentRedirect from django.shortcuts import redirect from django.test import TestCase +from django.test.utils import override_settings from django.utils import six from . import urlconf_outer, middleware, views @@ -453,16 +454,9 @@ class NamespaceTests(TestCase): self.assertEqual('/inc70/', reverse('inc-ns5:inner-nothing', args=['70'])) self.assertEqual('/inc78/extra/foobar/', reverse('inc-ns5:inner-extra', args=['78','foobar'])) -class RequestURLconfTests(TestCase): - def setUp(self): - self.root_urlconf = settings.ROOT_URLCONF - self.middleware_classes = settings.MIDDLEWARE_CLASSES - settings.ROOT_URLCONF = urlconf_outer.__name__ - - def tearDown(self): - settings.ROOT_URLCONF = self.root_urlconf - settings.MIDDLEWARE_CLASSES = self.middleware_classes +@override_settings(ROOT_URLCONF = urlconf_outer.__name__) +class RequestURLconfTests(TestCase): def test_urlconf(self): response = self.client.get('/test/me/') self.assertEqual(response.status_code, 200) @@ -473,10 +467,12 @@ class RequestURLconfTests(TestCase): response = self.client.get('/second_test/') self.assertEqual(response.status_code, 404) - def test_urlconf_overridden(self): - settings.MIDDLEWARE_CLASSES += ( + @override_settings( + MIDDLEWARE_CLASSES=( '%s.ChangeURLconfMiddleware' % middleware.__name__, ) + ) + def test_urlconf_overridden(self): response = self.client.get('/test/me/') self.assertEqual(response.status_code, 404) response = self.client.get('/inner_urlconf/second_test/') @@ -485,60 +481,70 @@ class RequestURLconfTests(TestCase): self.assertEqual(response.status_code, 200) self.assertEqual(response.content, b'outer:,inner:/second_test/') - def test_urlconf_overridden_with_null(self): - settings.MIDDLEWARE_CLASSES += ( + @override_settings( + MIDDLEWARE_CLASSES=( '%s.NullChangeURLconfMiddleware' % middleware.__name__, ) + ) + def test_urlconf_overridden_with_null(self): self.assertRaises(ImproperlyConfigured, self.client.get, '/test/me/') + @override_settings( + MIDDLEWARE_CLASSES=( + '%s.ChangeURLconfMiddleware' % middleware.__name__, + '%s.ReverseInnerInResponseMiddleware' % middleware.__name__, + ) + ) def test_reverse_inner_in_response_middleware(self): """ Test reversing an URL from the *overridden* URLconf from inside a response middleware. """ - settings.MIDDLEWARE_CLASSES += ( - '%s.ChangeURLconfMiddleware' % middleware.__name__, - '%s.ReverseInnerInResponseMiddleware' % middleware.__name__, - ) response = self.client.get('/second_test/') self.assertEqual(response.status_code, 200) self.assertEqual(response.content, b'/second_test/') + @override_settings( + MIDDLEWARE_CLASSES=( + '%s.ChangeURLconfMiddleware' % middleware.__name__, + '%s.ReverseOuterInResponseMiddleware' % middleware.__name__, + ) + ) def test_reverse_outer_in_response_middleware(self): """ Test reversing an URL from the *default* URLconf from inside a response middleware. """ - settings.MIDDLEWARE_CLASSES += ( - '%s.ChangeURLconfMiddleware' % middleware.__name__, - '%s.ReverseOuterInResponseMiddleware' % middleware.__name__, - ) message = "Reverse for 'outer' with arguments '()' and keyword arguments '{}' not found." with self.assertRaisesMessage(NoReverseMatch, message): self.client.get('/second_test/') + @override_settings( + MIDDLEWARE_CLASSES=( + '%s.ChangeURLconfMiddleware' % middleware.__name__, + '%s.ReverseInnerInStreaming' % middleware.__name__, + ) + ) def test_reverse_inner_in_streaming(self): """ Test reversing an URL from the *overridden* URLconf from inside a streaming response. """ - settings.MIDDLEWARE_CLASSES += ( - '%s.ChangeURLconfMiddleware' % middleware.__name__, - '%s.ReverseInnerInStreaming' % middleware.__name__, - ) response = self.client.get('/second_test/') self.assertEqual(response.status_code, 200) self.assertEqual(b''.join(response), b'/second_test/') + @override_settings( + MIDDLEWARE_CLASSES=( + '%s.ChangeURLconfMiddleware' % middleware.__name__, + '%s.ReverseOuterInStreaming' % middleware.__name__, + ) + ) def test_reverse_outer_in_streaming(self): """ Test reversing an URL from the *default* URLconf from inside a streaming response. """ - settings.MIDDLEWARE_CLASSES += ( - '%s.ChangeURLconfMiddleware' % middleware.__name__, - '%s.ReverseOuterInStreaming' % middleware.__name__, - ) message = "Reverse for 'outer' with arguments '()' and keyword arguments '{}' not found." with self.assertRaisesMessage(NoReverseMatch, message): self.client.get('/second_test/') |
