summaryrefslogtreecommitdiff
path: root/tests/project_template
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-12-03 09:44:09 -0500
committerTim Graham <timograham@gmail.com>2014-12-03 13:47:23 -0500
commit50c1d8f24b0d04c813b3dd34720df86446091afa (patch)
tree9e071ff1fef4f8e26303dba30833ca6592d88db0 /tests/project_template
parentb06dfad88fb12a927c86a1eb23064201c9560fb1 (diff)
Added a test to verify headers set by default middleware; refs #23939.
Diffstat (limited to 'tests/project_template')
-rw-r--r--tests/project_template/__init__.py0
-rw-r--r--tests/project_template/test_settings.py29
-rw-r--r--tests/project_template/urls.py7
-rw-r--r--tests/project_template/views.py5
4 files changed, 41 insertions, 0 deletions
diff --git a/tests/project_template/__init__.py b/tests/project_template/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/project_template/__init__.py
diff --git a/tests/project_template/test_settings.py b/tests/project_template/test_settings.py
new file mode 100644
index 0000000000..8998a844c7
--- /dev/null
+++ b/tests/project_template/test_settings.py
@@ -0,0 +1,29 @@
+import sys
+import unittest
+
+from django.test import TestCase
+
+
+@unittest.skipIf(sys.version_info < (3, 3),
+ 'Python < 3.3 cannot import the project template because '
+ 'django/conf/project_template doesn\'t have an __init__.py file.')
+class TestStartProjectSettings(TestCase):
+
+ def test_middleware_classes_headers(self):
+ """
+ Ensure headers sent by the default MIDDLEWARE_CLASSES do not
+ inadvertently change. For example, we never want "Vary: Cookie" to
+ appear in the list since it prevents the caching of responses.
+ """
+ from django.conf.project_template.project_name.settings import MIDDLEWARE_CLASSES
+
+ with self.settings(
+ MIDDLEWARE_CLASSES=MIDDLEWARE_CLASSES,
+ ROOT_URLCONF='project_template.urls',
+ ):
+ response = self.client.get('/empty/')
+ headers = sorted(response.serialize_headers().split(b'\r\n'))
+ self.assertEqual(headers, [
+ b'Content-Type: text/html; charset=utf-8',
+ b'X-Frame-Options: SAMEORIGIN',
+ ])
diff --git a/tests/project_template/urls.py b/tests/project_template/urls.py
new file mode 100644
index 0000000000..db0e9bb42e
--- /dev/null
+++ b/tests/project_template/urls.py
@@ -0,0 +1,7 @@
+from django.conf.urls import url
+
+from . import views
+
+urlpatterns = [
+ url(r'^empty/$', views.empty_view),
+]
diff --git a/tests/project_template/views.py b/tests/project_template/views.py
new file mode 100644
index 0000000000..50e23d1782
--- /dev/null
+++ b/tests/project_template/views.py
@@ -0,0 +1,5 @@
+from django.http import HttpResponse
+
+
+def empty_view(request, *args, **kwargs):
+ return HttpResponse('')