Merge "limit split of URL query params name-value pairs"
This commit is contained in:
@@ -90,3 +90,36 @@ class TestGetQueryDimension(unittest.TestCase):
|
||||
|
||||
self.assertRaises(
|
||||
HTTPUnprocessableEntityError, helpers.get_query_dimensions, req)
|
||||
|
||||
|
||||
class TestGetOldQueryParams(unittest.TestCase):
|
||||
|
||||
def test_old_query_params(self):
|
||||
uri = Mock()
|
||||
uri.query = "foo=bar&spam=ham"
|
||||
|
||||
result = helpers._get_old_query_params(uri)
|
||||
self.assertEqual(result, ["foo=bar", "spam=ham"])
|
||||
|
||||
def test_old_query_params_with_equals(self):
|
||||
uri = Mock()
|
||||
uri.query = "foo=spam=ham"
|
||||
|
||||
result = helpers._get_old_query_params(uri)
|
||||
self.assertEqual(result, ["foo=spam%3Dham"])
|
||||
|
||||
def test_old_query_params_except_offset(self):
|
||||
uri = Mock()
|
||||
uri.query = "foo=bar&spam=ham"
|
||||
result = []
|
||||
|
||||
helpers._get_old_query_params_except_offset(result, uri)
|
||||
self.assertEqual(result, ["foo=bar", "spam=ham"])
|
||||
|
||||
def test_old_query_params_except_offset_with_equals(self):
|
||||
uri = Mock()
|
||||
uri.query = "foo=spam=ham&offset=bar"
|
||||
result = []
|
||||
|
||||
helpers._get_old_query_params_except_offset(result, uri)
|
||||
self.assertEqual(result, ["foo=spam%3Dham"])
|
||||
|
@@ -400,7 +400,7 @@ def _get_old_query_params(parsed_uri):
|
||||
if parsed_uri.query:
|
||||
|
||||
for query_param in parsed_uri.query.split('&'):
|
||||
query_param_name, query_param_val = query_param.split('=')
|
||||
query_param_name, query_param_val = query_param.split('=', 1)
|
||||
|
||||
old_query_params.append(urlparse.quote(
|
||||
query_param_name.encode('utf8'), safe='')
|
||||
@@ -414,7 +414,7 @@ def _get_old_query_params_except_offset(new_query_params, parsed_uri):
|
||||
if parsed_uri.query:
|
||||
|
||||
for query_param in parsed_uri.query.split('&'):
|
||||
query_param_name, query_param_val = query_param.split('=')
|
||||
query_param_name, query_param_val = query_param.split('=', 1)
|
||||
if query_param_name.lower() != 'offset':
|
||||
new_query_params.append(urlparse.quote(
|
||||
query_param_name.encode(
|
||||
|
Reference in New Issue
Block a user