Change to not convert additionalParams of V1 API
The value of additionalParams of request or response data that is user-defined data should not be converted during processing. This patch changes to not convert value of additionalParams in request or additional_params in response. Closes-Bug: #1969704 Change-Id: Ie652adc521e2c56e8ea2e43a708c70ac623e17e5
This commit is contained in:
1 parent
f10ac5fd56
commit
0e68a31605
2 files changed
+23
-3
No files matched your search
@@ -355,13 +355,15 @@ def convert_camelcase_to_snakecase(request_data):
|
||||
This method takes care only keys in a `dict` or `dicts in a list`.
|
||||
For simple list with string items, the elements which are actual values
|
||||
are ignored during conversion.
|
||||
And property value is not converted when key is `additionalParams`.
|
||||
|
||||
:param request_data: dict with keys or list with items, in camelCase.
|
||||
"""
|
||||
if isinstance(request_data, dict):
|
||||
new_dict = {}
|
||||
for key, property_value in request_data.items():
|
||||
property_value = convert_camelcase_to_snakecase(property_value)
|
||||
if key != "additionalParams":
|
||||
property_value = convert_camelcase_to_snakecase(property_value)
|
||||
underscore_joined = convert_string_to_snakecase(key)
|
||||
new_dict[underscore_joined] = property_value
|
||||
return new_dict
|
||||
@@ -386,6 +388,7 @@ def convert_snakecase_to_camelcase(request_data):
|
||||
Also, Snake case is a notation method that uses underscores to connect
|
||||
words. For that reason, if the initial word of the key in dict starts
|
||||
with '_', this function ignore to convert the key.
|
||||
And property value is not converted when key is `additional_params`.
|
||||
|
||||
:param request_data: dict with keys or list with items, in snake_case.
|
||||
|
||||
@@ -419,7 +422,8 @@ def convert_snakecase_to_camelcase(request_data):
|
||||
if isinstance(request_data, dict):
|
||||
new_dict = {}
|
||||
for key, property_value in request_data.items():
|
||||
property_value = convert_snakecase_to_camelcase(property_value)
|
||||
if key != "additional_params":
|
||||
property_value = convert_snakecase_to_camelcase(property_value)
|
||||
camelcase = key if key.startswith('_') else convert(key)
|
||||
new_dict[camelcase] = property_value
|
||||
return new_dict
|
||||
|
||||
@@ -60,10 +60,17 @@ class TestCamelToSnakeCase(testtools.TestCase):
|
||||
values should be ignored during conversion
|
||||
"""
|
||||
data = ["camelCaseValue1", "camelCaseValue2"]
|
||||
actual_val = utils.convert_snakecase_to_camelcase(data)
|
||||
actual_val = utils.convert_camelcase_to_snakecase(data)
|
||||
expected_val = ["camelCaseValue1", "camelCaseValue2"]
|
||||
self.assertEqual(expected_val, actual_val)
|
||||
|
||||
def test_convert_camelcase_to_snakecase_with_additional_params(self):
|
||||
"""additionalParams value's dict should be not converted."""
|
||||
data = {"additionalParams": {"camelCaseKey": "camelCaseValue"}}
|
||||
actual_val = utils.convert_camelcase_to_snakecase(data)
|
||||
expected_val = {"additional_params": data["additionalParams"]}
|
||||
self.assertEqual(expected_val, actual_val)
|
||||
|
||||
|
||||
class TestSnakeToCamelCase(testtools.TestCase):
|
||||
def test_convert_snakecase_to_camelcase_dict(self):
|
||||
@@ -93,6 +100,15 @@ class TestSnakeToCamelCase(testtools.TestCase):
|
||||
expected_val = ["snake_case_value1", "snake_case_value2"]
|
||||
self.assertEqual(expected_val, actual_val)
|
||||
|
||||
def test_convert_snakecase_to_camelcase_with_additional_params(self):
|
||||
"""additional_params value's dict should be not converted."""
|
||||
data = {
|
||||
"additional_params": {
|
||||
"snake_case_key": "snake_case_value"}}
|
||||
actual_val = utils.convert_snakecase_to_camelcase(data)
|
||||
expected_val = {"additionalParams": data["additional_params"]}
|
||||
self.assertEqual(expected_val, actual_val)
|
||||
|
||||
|
||||
class TestValidateUrl(testtools.TestCase):
|
||||
def test_valid_url(self):
|
||||
|
||||
Reference in new issue
Block a user