summaryrefslogtreecommitdiff
path: root/tests/flatpages_tests
diff options
context:
space:
mode:
authorFlorian Apolloner <florian@apolloner.eu>2015-11-07 16:12:37 +0100
committerTim Graham <timograham@gmail.com>2016-05-17 07:22:22 -0400
commit9baf692a58de78dba13aa582098781675367c329 (patch)
tree1926555441d0c3b13185782dce193b839d616a4a /tests/flatpages_tests
parent05c888ffb843ba3eff06cd07b3cef5bbb513a54f (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.py17
-rw-r--r--tests/flatpages_tests/test_forms.py22
-rw-r--r--tests/flatpages_tests/test_middleware.py34
-rw-r--r--tests/flatpages_tests/test_templatetags.py18
-rw-r--r--tests/flatpages_tests/test_views.py4
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',