From ed18cc83ad6e3e93cb7c4aca9a964feb7f0765fd Mon Sep 17 00:00:00 2001
From: Gisle Aas <gisle@aas.no>
Date: Tue, 23 Feb 2010 09:19:24 -0500
Subject: [PATCH 2/2] Test that the custom response shows up on the WSGI level as well
---
tests/regressiontests/wsgi/tests.py | 24 ++++++++++++++++++++++++
tests/regressiontests/wsgi/urls.py | 5 +++++
tests/regressiontests/wsgi/views.py | 4 ++++
tests/urls.py | 3 +++
4 files changed, 36 insertions(+), 0 deletions(-)
create mode 100644 tests/regressiontests/wsgi/__init__.py
create mode 100644 tests/regressiontests/wsgi/models.py
create mode 100644 tests/regressiontests/wsgi/tests.py
create mode 100644 tests/regressiontests/wsgi/urls.py
create mode 100644 tests/regressiontests/wsgi/views.py
diff --git a/tests/regressiontests/wsgi/__init__.py b/tests/regressiontests/wsgi/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/regressiontests/wsgi/models.py b/tests/regressiontests/wsgi/models.py
new file mode 100644
index 0000000..e69de29
diff --git a/tests/regressiontests/wsgi/tests.py b/tests/regressiontests/wsgi/tests.py
new file mode 100644
index 0000000..3d62129
-
|
+
|
|
| 1 | from unittest import TestCase |
| 2 | from django.core.handlers.wsgi import WSGIHandler |
| 3 | |
| 4 | class Tests(TestCase): |
| 5 | def test_custom_status(self): |
| 6 | class Object(object): pass |
| 7 | response = Object() |
| 8 | |
| 9 | def start_response(status, headers): |
| 10 | response.status = status |
| 11 | response.headers = headers |
| 12 | |
| 13 | app = WSGIHandler() |
| 14 | content = app({ |
| 15 | 'REQUEST_METHOD': 'GET', |
| 16 | 'PATH_INFO': '/wsgi/custom_status/', |
| 17 | 'SERVER_NAME': 'localhost', |
| 18 | 'SERVER_PORT': '80', |
| 19 | 'SERVER_PROTOCOL': 'HTTP/1.0', |
| 20 | }, start_response) |
| 21 | response.content = "".join(content) |
| 22 | |
| 23 | self.assertEqual(response.status, "220 Pretty good") |
| 24 | self.assertEqual(response.content, "Hello") |
diff --git a/tests/regressiontests/wsgi/urls.py b/tests/regressiontests/wsgi/urls.py
new file mode 100644
index 0000000..26d8ea2
-
|
+
|
|
| 1 | from django.conf.urls.defaults import * |
| 2 | |
| 3 | urlpatterns = patterns('', |
| 4 | (r'^custom_status/', 'regressiontests.wsgi.views.custom_status'), |
| 5 | ) |
diff --git a/tests/regressiontests/wsgi/views.py b/tests/regressiontests/wsgi/views.py
new file mode 100644
index 0000000..deecfd9
-
|
+
|
|
| 1 | from django.http import HttpResponse |
| 2 | |
| 3 | def custom_status(request): |
| 4 | return HttpResponse("Hello", status="220 Pretty good") |
diff --git a/tests/urls.py b/tests/urls.py
index 01d6408..eed06c2 100644
a
|
b
|
urlpatterns = patterns('',
|
41 | 41 | |
42 | 42 | # special headers views |
43 | 43 | (r'special_headers/', include('regressiontests.special_headers.urls')), |
| 44 | |
| 45 | # try to run the wsgi handler directly |
| 46 | (r'wsgi/', include('regressiontests.wsgi.urls')) |
44 | 47 | ) |