Fixed #17067 -- reverted some backwards-incompatible changes from r16933 and added tests.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@17010 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
396fcaaef9
commit
14d24eb438
|
@ -182,12 +182,16 @@ class RequestFactory(object):
|
||||||
"""
|
"""
|
||||||
The base environment for a request.
|
The base environment for a request.
|
||||||
"""
|
"""
|
||||||
# This is a minimal valid WSGI environ dictionary, plus HTTP_COOKIE
|
# This is a minimal valid WSGI environ dictionary, plus:
|
||||||
# for cookie support. Empty strings are omitted.
|
# - HTTP_COOKIE: for cookie support,
|
||||||
|
# - REMOTE_ADDR: often useful, see #8551.
|
||||||
# See http://www.python.org/dev/peps/pep-3333/#environ-variables
|
# See http://www.python.org/dev/peps/pep-3333/#environ-variables
|
||||||
environ = {
|
environ = {
|
||||||
'HTTP_COOKIE': self.cookies.output(header='', sep='; '),
|
'HTTP_COOKIE': self.cookies.output(header='', sep='; '),
|
||||||
|
'PATH_INFO': '/',
|
||||||
|
'REMOTE_ADDR': '127.0.0.1',
|
||||||
'REQUEST_METHOD': 'GET',
|
'REQUEST_METHOD': 'GET',
|
||||||
|
'SCRIPT_NAME': '',
|
||||||
'SERVER_NAME': 'testserver',
|
'SERVER_NAME': 'testserver',
|
||||||
'SERVER_PORT': '80',
|
'SERVER_PORT': '80',
|
||||||
'SERVER_PROTOCOL': 'HTTP/1.1',
|
'SERVER_PROTOCOL': 'HTTP/1.1',
|
||||||
|
|
|
@ -994,3 +994,23 @@ class RequestFactoryStateTest(TestCase):
|
||||||
def test_request_after_client_2(self):
|
def test_request_after_client_2(self):
|
||||||
# This test is executed after the previous one
|
# This test is executed after the previous one
|
||||||
self.common_test_that_should_always_pass()
|
self.common_test_that_should_always_pass()
|
||||||
|
|
||||||
|
|
||||||
|
class RequestFactoryEnvironmentTests(TestCase):
|
||||||
|
"""
|
||||||
|
Regression tests for #8551 and #17067: ensure that environment variables
|
||||||
|
are set correctly in RequestFactory.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.factory = RequestFactory()
|
||||||
|
|
||||||
|
def test_should_set_correct_env_variables(self):
|
||||||
|
request = self.factory.get('/path/')
|
||||||
|
|
||||||
|
self.assertEqual(request.META.get('REMOTE_ADDR'), '127.0.0.1')
|
||||||
|
self.assertEqual(request.META.get('SERVER_NAME'), 'testserver')
|
||||||
|
self.assertEqual(request.META.get('SERVER_PORT'), '80')
|
||||||
|
self.assertEqual(request.META.get('SERVER_PROTOCOL'), 'HTTP/1.1')
|
||||||
|
self.assertEqual(request.META.get('SCRIPT_NAME') +
|
||||||
|
request.META.get('PATH_INFO'), '/path/')
|
||||||
|
|
Loading…
Reference in New Issue