diff options
Diffstat (limited to 'parts/django/tests/regressiontests/middleware')
5 files changed, 0 insertions, 264 deletions
diff --git a/parts/django/tests/regressiontests/middleware/__init__.py b/parts/django/tests/regressiontests/middleware/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/parts/django/tests/regressiontests/middleware/__init__.py +++ /dev/null diff --git a/parts/django/tests/regressiontests/middleware/extra_urls.py b/parts/django/tests/regressiontests/middleware/extra_urls.py deleted file mode 100644 index b2a8902..0000000 --- a/parts/django/tests/regressiontests/middleware/extra_urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.conf.urls.defaults import patterns - -urlpatterns = patterns('', - (r'^middleware/customurlconf/noslash$', 'view'), - (r'^middleware/customurlconf/slash/$', 'view'), - (r'^middleware/customurlconf/needsquoting#/$', 'view'), -) diff --git a/parts/django/tests/regressiontests/middleware/models.py b/parts/django/tests/regressiontests/middleware/models.py deleted file mode 100644 index 71abcc5..0000000 --- a/parts/django/tests/regressiontests/middleware/models.py +++ /dev/null @@ -1 +0,0 @@ -# models.py file for tests to run. diff --git a/parts/django/tests/regressiontests/middleware/tests.py b/parts/django/tests/regressiontests/middleware/tests.py deleted file mode 100644 index b77a2a3..0000000 --- a/parts/django/tests/regressiontests/middleware/tests.py +++ /dev/null @@ -1,249 +0,0 @@ -# -*- coding: utf-8 -*- - -from django.conf import settings -from django.http import HttpRequest -from django.middleware.common import CommonMiddleware -from django.test import TestCase - - -class CommonMiddlewareTest(TestCase): - def setUp(self): - self.slash = settings.APPEND_SLASH - self.www = settings.PREPEND_WWW - - def tearDown(self): - settings.APPEND_SLASH = self.slash - settings.PREPEND_WWW = self.www - - def _get_request(self, path): - request = HttpRequest() - request.META = { - 'SERVER_NAME': 'testserver', - 'SERVER_PORT': 80, - } - request.path = request.path_info = "/middleware/%s" % path - return request - - def test_append_slash_have_slash(self): - """ - Tests that URLs with slashes go unmolested. - """ - settings.APPEND_SLASH = True - request = self._get_request('slash/') - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_slashless_resource(self): - """ - Tests that matches to explicit slashless URLs go unmolested. - """ - settings.APPEND_SLASH = True - request = self._get_request('noslash') - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_slashless_unknown(self): - """ - Tests that APPEND_SLASH doesn't redirect to unknown resources. - """ - settings.APPEND_SLASH = True - request = self._get_request('unknown') - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_redirect(self): - """ - Tests that APPEND_SLASH redirects slashless URLs to a valid pattern. - """ - settings.APPEND_SLASH = True - request = self._get_request('slash') - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], 'http://testserver/middleware/slash/') - - def test_append_slash_no_redirect_on_POST_in_DEBUG(self): - """ - Tests that while in debug mode, an exception is raised with a warning - when a failed attempt is made to POST to an URL which would normally be - redirected to a slashed version. - """ - settings.APPEND_SLASH = True - settings.DEBUG = True - request = self._get_request('slash') - request.method = 'POST' - self.assertRaises( - RuntimeError, - CommonMiddleware().process_request, - request) - try: - CommonMiddleware().process_request(request) - except RuntimeError, e: - self.assertTrue('end in a slash' in str(e)) - settings.DEBUG = False - - def test_append_slash_disabled(self): - """ - Tests disabling append slash functionality. - """ - settings.APPEND_SLASH = False - request = self._get_request('slash') - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_quoted(self): - """ - Tests that URLs which require quoting are redirected to their slash - version ok. - """ - settings.APPEND_SLASH = True - request = self._get_request('needsquoting#') - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals( - r['Location'], - 'http://testserver/middleware/needsquoting%23/') - - def test_prepend_www(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = False - request = self._get_request('path/') - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals( - r['Location'], - 'http://www.testserver/middleware/path/') - - def test_prepend_www_append_slash_have_slash(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = True - request = self._get_request('slash/') - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], - 'http://www.testserver/middleware/slash/') - - def test_prepend_www_append_slash_slashless(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = True - request = self._get_request('slash') - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], - 'http://www.testserver/middleware/slash/') - - - # The following tests examine expected behavior given a custom urlconf that - # overrides the default one through the request object. - - def test_append_slash_have_slash_custom_urlconf(self): - """ - Tests that URLs with slashes go unmolested. - """ - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/slash/') - request.urlconf = 'regressiontests.middleware.extra_urls' - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_slashless_resource_custom_urlconf(self): - """ - Tests that matches to explicit slashless URLs go unmolested. - """ - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/noslash') - request.urlconf = 'regressiontests.middleware.extra_urls' - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_slashless_unknown_custom_urlconf(self): - """ - Tests that APPEND_SLASH doesn't redirect to unknown resources. - """ - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/unknown') - request.urlconf = 'regressiontests.middleware.extra_urls' - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_redirect_custom_urlconf(self): - """ - Tests that APPEND_SLASH redirects slashless URLs to a valid pattern. - """ - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/slash') - request.urlconf = 'regressiontests.middleware.extra_urls' - r = CommonMiddleware().process_request(request) - self.assertFalse(r is None, - "CommonMiddlware failed to return APPEND_SLASH redirect using request.urlconf") - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], 'http://testserver/middleware/customurlconf/slash/') - - def test_append_slash_no_redirect_on_POST_in_DEBUG_custom_urlconf(self): - """ - Tests that while in debug mode, an exception is raised with a warning - when a failed attempt is made to POST to an URL which would normally be - redirected to a slashed version. - """ - settings.APPEND_SLASH = True - settings.DEBUG = True - request = self._get_request('customurlconf/slash') - request.urlconf = 'regressiontests.middleware.extra_urls' - request.method = 'POST' - self.assertRaises( - RuntimeError, - CommonMiddleware().process_request, - request) - try: - CommonMiddleware().process_request(request) - except RuntimeError, e: - self.assertTrue('end in a slash' in str(e)) - settings.DEBUG = False - - def test_append_slash_disabled_custom_urlconf(self): - """ - Tests disabling append slash functionality. - """ - settings.APPEND_SLASH = False - request = self._get_request('customurlconf/slash') - request.urlconf = 'regressiontests.middleware.extra_urls' - self.assertEquals(CommonMiddleware().process_request(request), None) - - def test_append_slash_quoted_custom_urlconf(self): - """ - Tests that URLs which require quoting are redirected to their slash - version ok. - """ - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/needsquoting#') - request.urlconf = 'regressiontests.middleware.extra_urls' - r = CommonMiddleware().process_request(request) - self.assertFalse(r is None, - "CommonMiddlware failed to return APPEND_SLASH redirect using request.urlconf") - self.assertEquals(r.status_code, 301) - self.assertEquals( - r['Location'], - 'http://testserver/middleware/customurlconf/needsquoting%23/') - - def test_prepend_www_custom_urlconf(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = False - request = self._get_request('customurlconf/path/') - request.urlconf = 'regressiontests.middleware.extra_urls' - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals( - r['Location'], - 'http://www.testserver/middleware/customurlconf/path/') - - def test_prepend_www_append_slash_have_slash_custom_urlconf(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/slash/') - request.urlconf = 'regressiontests.middleware.extra_urls' - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], - 'http://www.testserver/middleware/customurlconf/slash/') - - def test_prepend_www_append_slash_slashless_custom_urlconf(self): - settings.PREPEND_WWW = True - settings.APPEND_SLASH = True - request = self._get_request('customurlconf/slash') - request.urlconf = 'regressiontests.middleware.extra_urls' - r = CommonMiddleware().process_request(request) - self.assertEquals(r.status_code, 301) - self.assertEquals(r['Location'], - 'http://www.testserver/middleware/customurlconf/slash/') diff --git a/parts/django/tests/regressiontests/middleware/urls.py b/parts/django/tests/regressiontests/middleware/urls.py deleted file mode 100644 index 88a4b37..0000000 --- a/parts/django/tests/regressiontests/middleware/urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.conf.urls.defaults import patterns - -urlpatterns = patterns('', - (r'^noslash$', 'view'), - (r'^slash/$', 'view'), - (r'^needsquoting#/$', 'view'), -) |