diff options
| author | Tim Graham <timograham@gmail.com> | 2014-12-03 09:44:09 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-12-03 13:47:23 -0500 |
| commit | 50c1d8f24b0d04c813b3dd34720df86446091afa (patch) | |
| tree | 9e071ff1fef4f8e26303dba30833ca6592d88db0 /tests/project_template | |
| parent | b06dfad88fb12a927c86a1eb23064201c9560fb1 (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__.py | 0 | ||||
| -rw-r--r-- | tests/project_template/test_settings.py | 29 | ||||
| -rw-r--r-- | tests/project_template/urls.py | 7 | ||||
| -rw-r--r-- | tests/project_template/views.py | 5 |
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('') |
