Fixed query removal bug in make_pre_authed_request

Change-Id: I1b8238fb2ffe07b1474f7d8f040fdc620b6897d7
This commit is contained in:
gholt
2012-05-27 21:48:13 +00:00
parent 676c338b7c
commit e060561506
2 changed files with 13 additions and 1 deletions

View File

@@ -330,7 +330,7 @@ def make_pre_authed_env(env, method=None, path=None, agent='Swift',
newenv['REQUEST_METHOD'] = method
if path:
newenv['PATH_INFO'] = path
if query_string:
if query_string is not None:
newenv['QUERY_STRING'] = query_string
if agent:
newenv['HTTP_USER_AGENT'] = (

View File

@@ -195,5 +195,17 @@ class TestWSGI(unittest.TestCase):
body='tester', headers={})
self.assertEquals(r.path, quote('/a space'))
def test_pre_auth_req_drops_query(self):
r = wsgi.make_pre_authed_request(
{'QUERY_STRING': 'original'}, 'GET', 'path')
self.assertEquals(r.query_string, 'original')
r = wsgi.make_pre_authed_request(
{'QUERY_STRING': 'original'}, 'GET', 'path?replacement')
self.assertEquals(r.query_string, 'replacement')
r = wsgi.make_pre_authed_request(
{'QUERY_STRING': 'original'}, 'GET', 'path?')
self.assertEquals(r.query_string, '')
if __name__ == '__main__':
unittest.main()