bugfix: extend_variables

This commit is contained in:
debugtalk
2018-12-28 14:29:38 +08:00
parent 611ecb5d1a
commit c1048d01a8
3 changed files with 11 additions and 3 deletions

View File

@@ -418,10 +418,12 @@ def extend_variables(raw_variables, override_variables):
""" """
if not raw_variables: if not raw_variables:
return override_variables override_variables_mapping = ensure_mapping_format(override_variables)
return override_variables_mapping
elif not override_variables: elif not override_variables:
return raw_variables raw_variables_mapping = ensure_mapping_format(raw_variables)
return raw_variables_mapping
else: else:
raw_variables_mapping = ensure_mapping_format(raw_variables) raw_variables_mapping = ensure_mapping_format(raw_variables)

View File

@@ -787,7 +787,7 @@ class TestParser(unittest.TestCase):
extended_block = parser._extend_with_api(test_block, api_def_dict) extended_block = parser._extend_with_api(test_block, api_def_dict)
self.assertEqual(extended_block["base_url"], "https://debugtalk.com") self.assertEqual(extended_block["base_url"], "https://debugtalk.com")
self.assertEqual(extended_block["name"], "override block") self.assertEqual(extended_block["name"], "override block")
self.assertIn({'var': 123}, extended_block["variables"]) self.assertEqual({'var': 123}, extended_block["variables"])
self.assertIn({'check': 'status_code', 'expect': 201, 'comparator': 'eq'}, extended_block["validate"]) self.assertIn({'check': 'status_code', 'expect': 201, 'comparator': 'eq'}, extended_block["validate"])
self.assertIn({'check': 'content.token', 'comparator': 'len_eq', 'expect': 32}, extended_block["validate"]) self.assertIn({'check': 'content.token', 'comparator': 'len_eq', 'expect': 32}, extended_block["validate"])
self.assertEqual(extended_block["times"], 3) self.assertEqual(extended_block["times"], 3)

View File

@@ -268,6 +268,12 @@ class TestUtils(ApiServerUnittest):
self.assertEqual(extended_variables_mapping["var2"], "val2") self.assertEqual(extended_variables_mapping["var2"], "val2")
self.assertEqual(extended_variables_mapping["var3"], "val3") self.assertEqual(extended_variables_mapping["var3"], "val3")
def test_extend_variables_fix(self):
raw_variables = [{"var1": "val1"}, {"var2": "val2"}]
override_variables = {}
extended_variables_mapping = utils.extend_variables(raw_variables, override_variables)
self.assertEqual(extended_variables_mapping["var1"], "val1")
def test_deepcopy_dict(self): def test_deepcopy_dict(self):
data = { data = {
'a': 1, 'a': 1,