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(
|
self.assertRaises(
|
||||||
HTTPUnprocessableEntityError, helpers.get_query_dimensions, req)
|
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:
|
if parsed_uri.query:
|
||||||
|
|
||||||
for query_param in parsed_uri.query.split('&'):
|
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(
|
old_query_params.append(urlparse.quote(
|
||||||
query_param_name.encode('utf8'), safe='')
|
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:
|
if parsed_uri.query:
|
||||||
|
|
||||||
for query_param in parsed_uri.query.split('&'):
|
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':
|
if query_param_name.lower() != 'offset':
|
||||||
new_query_params.append(urlparse.quote(
|
new_query_params.append(urlparse.quote(
|
||||||
query_param_name.encode(
|
query_param_name.encode(
|
||||||
|
Reference in New Issue
Block a user