diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2008-11-12 11:19:37 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2008-11-12 11:19:37 +0000 |
| commit | ecc1ed4ce1faa0b052ddd31487d24a4f9f9ea37a (patch) | |
| tree | b66a55daba51615291130c8856cbee92b798b8b6 | |
| parent | cb6a5886f6ccc0272288dba0f8b4c15a81100bf3 (diff) | |
Fixed #8646 -- Modified test client to set a fully WSGI compliant environment. Thanks to Adam Lofts for the report.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9396 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/test/client.py | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/django/test/client.py b/django/test/client.py index 0cb8db3f4e..e1d73aa476 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -158,6 +158,7 @@ class Client(object): self.defaults = defaults self.cookies = SimpleCookie() self.exc_info = None + self.errors = StringIO() def store_exc_info(self, **kwargs): """ @@ -193,6 +194,12 @@ class Client(object): 'SERVER_NAME': 'testserver', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', + 'wsgi.version': (1,0), + 'wsgi.url_scheme': 'http', + 'wsgi.errors': self.errors, + 'wsgi.multiprocess': True, + 'wsgi.multithread': False, + 'wsgi.run_once': False, } environ.update(self.defaults) environ.update(request) @@ -254,11 +261,11 @@ class Client(object): Requests a response from the server using GET. """ r = { - 'CONTENT_LENGTH': None, 'CONTENT_TYPE': 'text/html; charset=utf-8', 'PATH_INFO': urllib.unquote(path), 'QUERY_STRING': urlencode(data, doseq=True), 'REQUEST_METHOD': 'GET', + 'wsgi.input': FakePayload('') } r.update(extra) @@ -289,11 +296,11 @@ class Client(object): Request a response from the server using HEAD. """ r = { - 'CONTENT_LENGTH': None, 'CONTENT_TYPE': 'text/html; charset=utf-8', 'PATH_INFO': urllib.unquote(path), 'QUERY_STRING': urlencode(data, doseq=True), 'REQUEST_METHOD': 'HEAD', + 'wsgi.input': FakePayload('') } r.update(extra) @@ -304,11 +311,10 @@ class Client(object): Request a response from the server using OPTIONS. """ r = { - 'CONTENT_LENGTH': None, - 'CONTENT_TYPE': None, 'PATH_INFO': urllib.unquote(path), 'QUERY_STRING': urlencode(data, doseq=True), 'REQUEST_METHOD': 'OPTIONS', + 'wsgi.input': FakePayload('') } r.update(extra) @@ -338,11 +344,10 @@ class Client(object): Send a DELETE request to the server. """ r = { - 'CONTENT_LENGTH': None, - 'CONTENT_TYPE': None, 'PATH_INFO': urllib.unquote(path), 'REQUEST_METHOD': 'DELETE', - } + 'wsgi.input': FakePayload('') + } r.update(extra) return self.request(**r) |
