diff options
| author | Florian Apolloner <florian@apolloner.eu> | 2015-11-07 16:12:37 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-05-17 07:22:22 -0400 |
| commit | 9baf692a58de78dba13aa582098781675367c329 (patch) | |
| tree | 1926555441d0c3b13185782dce193b839d616a4a /tests/flatpages_tests | |
| parent | 05c888ffb843ba3eff06cd07b3cef5bbb513a54f (diff) | |
Fixed #26601 -- Improved middleware per DEP 0005.
Thanks Tim Graham for polishing the patch, updating the tests, and
writing documentation. Thanks Carl Meyer for shepherding the DEP.
Diffstat (limited to 'tests/flatpages_tests')
| -rw-r--r-- | tests/flatpages_tests/test_csrf.py | 17 | ||||
| -rw-r--r-- | tests/flatpages_tests/test_forms.py | 22 | ||||
| -rw-r--r-- | tests/flatpages_tests/test_middleware.py | 34 | ||||
| -rw-r--r-- | tests/flatpages_tests/test_templatetags.py | 18 | ||||
| -rw-r--r-- | tests/flatpages_tests/test_views.py | 4 |
5 files changed, 71 insertions, 24 deletions
diff --git a/tests/flatpages_tests/test_csrf.py b/tests/flatpages_tests/test_csrf.py index 0ffc567c48..b4ae186d0c 100644 --- a/tests/flatpages_tests/test_csrf.py +++ b/tests/flatpages_tests/test_csrf.py @@ -9,7 +9,7 @@ from .settings import FLATPAGES_TEMPLATES @modify_settings(INSTALLED_APPS={'append': 'django.contrib.flatpages'}) @override_settings( LOGIN_URL='/accounts/login/', - MIDDLEWARE_CLASSES=[ + MIDDLEWARE=[ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -97,3 +97,18 @@ class FlatpageCSRFTests(TestCase): "POSTing to an unknown page isn't caught as a 403 CSRF error" response = self.client.post('/no_such_page/') self.assertEqual(response.status_code, 404) + + +@override_settings( + MIDDLEWARE=None, + MIDDLEWARE_CLASSES=[ + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', + ], +) +class FlatpageCSRFMiddlewareClassesTests(FlatpageCSRFTests): + pass diff --git a/tests/flatpages_tests/test_forms.py b/tests/flatpages_tests/test_forms.py index ae9da29f5c..acf6687ea2 100644 --- a/tests/flatpages_tests/test_forms.py +++ b/tests/flatpages_tests/test_forms.py @@ -47,18 +47,36 @@ class FlatpageAdminFormTests(TestCase): self.assertFalse(form.is_valid()) self.assertEqual(form.errors['url'], ["URL is missing a leading slash."]) - @override_settings(APPEND_SLASH=True, MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware']) + @override_settings(APPEND_SLASH=True, MIDDLEWARE=['django.middleware.common.CommonMiddleware']) def test_flatpage_requires_trailing_slash_with_append_slash(self): form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data)) with translation.override('en'): self.assertFalse(form.is_valid()) self.assertEqual(form.errors['url'], ["URL is missing a trailing slash."]) - @override_settings(APPEND_SLASH=False, MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware']) + @override_settings(APPEND_SLASH=False, MIDDLEWARE=['django.middleware.common.CommonMiddleware']) def test_flatpage_doesnt_requires_trailing_slash_without_append_slash(self): form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data)) self.assertTrue(form.is_valid()) + @override_settings( + APPEND_SLASH=True, MIDDLEWARE=None, + MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware'], + ) + def test_flatpage_requires_trailing_slash_with_append_slash_middleware_classes(self): + form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data)) + with translation.override('en'): + self.assertFalse(form.is_valid()) + self.assertEqual(form.errors['url'], ["URL is missing a trailing slash."]) + + @override_settings( + APPEND_SLASH=False, MIDDLEWARE=None, + MIDDLEWARE_CLASSES=['django.middleware.common.CommonMiddleware'], + ) + def test_flatpage_doesnt_requires_trailing_slash_without_append_slash_middleware_classes(self): + form = FlatpageForm(data=dict(url='/no_trailing_slash', **self.form_data)) + self.assertTrue(form.is_valid()) + def test_flatpage_admin_form_url_uniqueness_validation(self): "The flatpage admin form correctly enforces url uniqueness among flatpages of the same site" data = dict(url='/myflatpage1/', **self.form_data) diff --git a/tests/flatpages_tests/test_middleware.py b/tests/flatpages_tests/test_middleware.py index 37e789d1b1..8d04076af6 100644 --- a/tests/flatpages_tests/test_middleware.py +++ b/tests/flatpages_tests/test_middleware.py @@ -40,7 +40,7 @@ class TestDataMixin(object): @modify_settings(INSTALLED_APPS={'append': 'django.contrib.flatpages'}) @override_settings( LOGIN_URL='/accounts/login/', - MIDDLEWARE_CLASSES=[ + MIDDLEWARE=[ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -107,11 +107,26 @@ class FlatpageMiddlewareTests(TestDataMixin, TestCase): self.assertContains(response, "<p>Isn't it special!</p>") +@override_settings( + MIDDLEWARE=None, + MIDDLEWARE_CLASSES=[ + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', + ], +) +class FlatpageMiddlewareClassesTests(FlatpageMiddlewareTests): + pass + + @modify_settings(INSTALLED_APPS={'append': 'django.contrib.flatpages'}) @override_settings( APPEND_SLASH=True, LOGIN_URL='/accounts/login/', - MIDDLEWARE_CLASSES=[ + MIDDLEWARE=[ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -172,3 +187,18 @@ class FlatpageMiddlewareAppendSlashTests(TestDataMixin, TestCase): response = self.client.get('/') self.assertContains(response, "<p>Root</p>") + + +@override_settings( + MIDDLEWARE=None, + MIDDLEWARE_CLASSES=[ + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', + ], +) +class FlatpageAppendSlashMiddlewareClassesTests(FlatpageMiddlewareAppendSlashTests): + pass diff --git a/tests/flatpages_tests/test_templatetags.py b/tests/flatpages_tests/test_templatetags.py index d766d13964..688d85a224 100644 --- a/tests/flatpages_tests/test_templatetags.py +++ b/tests/flatpages_tests/test_templatetags.py @@ -2,25 +2,9 @@ from django.contrib.auth.models import AnonymousUser, User from django.contrib.flatpages.models import FlatPage from django.contrib.sites.models import Site from django.template import Context, Template, TemplateSyntaxError -from django.test import TestCase, modify_settings, override_settings +from django.test import TestCase -from .settings import FLATPAGES_TEMPLATES - -@modify_settings(INSTALLED_APPS={'append': 'django.contrib.flatpages'}) -@override_settings( - MIDDLEWARE_CLASSES=[ - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', - ], - ROOT_URLCONF='flatpages_tests.urls', - TEMPLATES=FLATPAGES_TEMPLATES, - SITE_ID=1, -) class FlatpageTemplateTagTests(TestCase): @classmethod diff --git a/tests/flatpages_tests/test_views.py b/tests/flatpages_tests/test_views.py index 1a93a543b7..a5104ce620 100644 --- a/tests/flatpages_tests/test_views.py +++ b/tests/flatpages_tests/test_views.py @@ -40,7 +40,7 @@ class TestDataMixin(object): @modify_settings(INSTALLED_APPS={'append': 'django.contrib.flatpages'}) @override_settings( LOGIN_URL='/accounts/login/', - MIDDLEWARE_CLASSES=[ + MIDDLEWARE=[ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', @@ -102,7 +102,7 @@ class FlatpageViewTests(TestDataMixin, TestCase): @override_settings( APPEND_SLASH=True, LOGIN_URL='/accounts/login/', - MIDDLEWARE_CLASSES=[ + MIDDLEWARE=[ 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', |
