summaryrefslogtreecommitdiff
path: root/tests/regressiontests
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-03-26 15:08:24 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-03-26 15:08:24 +0000
commit667ced2abcb557c1fc8feda7c4d952193b8f5768 (patch)
tree6567968fff8eb4363143968037189ba70ea56664 /tests/regressiontests
parent9b50ec81a388d636c5e7d40e118a5bb6388ba21d (diff)
Fixed #12594 -- Ensured that a meaningful exception is raised when the urlconf_module is None. Thanks to buriy for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12854 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
-rw-r--r--tests/regressiontests/urlpatterns_reverse/middleware.py4
-rw-r--r--tests/regressiontests/urlpatterns_reverse/tests.py18
2 files changed, 20 insertions, 2 deletions
diff --git a/tests/regressiontests/urlpatterns_reverse/middleware.py b/tests/regressiontests/urlpatterns_reverse/middleware.py
index 7bb9aa924f..cd3c045159 100644
--- a/tests/regressiontests/urlpatterns_reverse/middleware.py
+++ b/tests/regressiontests/urlpatterns_reverse/middleware.py
@@ -5,3 +5,7 @@ import urlconf_inner
class ChangeURLconfMiddleware(object):
def process_request(self, request):
request.urlconf = urlconf_inner.__name__
+
+class NullChangeURLconfMiddleware(object):
+ def process_request(self, request):
+ request.urlconf = None
diff --git a/tests/regressiontests/urlpatterns_reverse/tests.py b/tests/regressiontests/urlpatterns_reverse/tests.py
index d5f3ec9546..3fcc935da2 100644
--- a/tests/regressiontests/urlpatterns_reverse/tests.py
+++ b/tests/regressiontests/urlpatterns_reverse/tests.py
@@ -17,6 +17,7 @@ ImproperlyConfigured: The included urlconf regressiontests.urlpatterns_reverse.n
import unittest
from django.conf import settings
+from django.core.exceptions import ImproperlyConfigured
from django.core.urlresolvers import reverse, resolve, NoReverseMatch, Resolver404
from django.http import HttpResponseRedirect, HttpResponsePermanentRedirect
from django.shortcuts import redirect
@@ -282,16 +283,22 @@ class RequestURLconfTests(TestCase):
self.assertEqual(response.status_code, 200)
self.assertEqual(response.content, 'outer:,inner:/second_test/')
+ def test_urlconf_overridden_with_null(self):
+ settings.MIDDLEWARE_CLASSES += (
+ '%s.NullChangeURLconfMiddleware' % middleware.__name__,
+ )
+ self.assertRaises(ImproperlyConfigured, self.client.get, '/test/me/')
+
class ErrorHandlerResolutionTests(TestCase):
"""Tests for handler404 and handler500"""
-
+
def setUp(self):
from django.core.urlresolvers import RegexURLResolver
urlconf = 'regressiontests.urlpatterns_reverse.urls_error_handlers'
urlconf_callables = 'regressiontests.urlpatterns_reverse.urls_error_handlers_callables'
self.resolver = RegexURLResolver(r'^$', urlconf)
self.callable_resolver = RegexURLResolver(r'^$', urlconf_callables)
-
+
def test_named_handlers(self):
from views import empty_view
handler = (empty_view, {})
@@ -303,3 +310,10 @@ class ErrorHandlerResolutionTests(TestCase):
handler = (empty_view, {})
self.assertEqual(self.callable_resolver.resolve404(), handler)
self.assertEqual(self.callable_resolver.resolve500(), handler)
+
+class NoRootUrlConfTests(TestCase):
+ """Tests for handler404 and handler500 if urlconf is None"""
+ urls = None
+
+ def test_no_handler_exception(self):
+ self.assertRaises(ImproperlyConfigured, self.client.get, '/test/me/')