summaryrefslogtreecommitdiff
path: root/parts/django/tests/regressiontests/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'parts/django/tests/regressiontests/middleware')
-rw-r--r--parts/django/tests/regressiontests/middleware/__init__.py0
-rw-r--r--parts/django/tests/regressiontests/middleware/extra_urls.py7
-rw-r--r--parts/django/tests/regressiontests/middleware/models.py1
-rw-r--r--parts/django/tests/regressiontests/middleware/tests.py249
-rw-r--r--parts/django/tests/regressiontests/middleware/urls.py7
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'),
-)