make extract_response return as ordered dict

This commit is contained in:
debugtalk
2017-09-19 18:05:12 +08:00
parent 0181e61ab8
commit cb7bb253da
2 changed files with 19 additions and 19 deletions

View File

@@ -1,4 +1,6 @@
from ate import utils, exception
from collections import OrderedDict
from ate import exception, utils
class ResponseObject(object):
@@ -63,20 +65,18 @@ class ResponseObject(object):
{"resp_content": "content"},
{"resp_content_person_first_name": "content.person.name.first_name"}
]
@return (list) variable binds list
@return (OrderDict) variable binds ordered dict
"""
extracted_variables_mapping_list = []
extracted_variables_mapping = OrderedDict()
for extract_bind in extract_binds:
for key, field in extract_bind.items():
if not isinstance(field, utils.string_type):
raise exception.ParamsError("invalid extract_binds in testcase extract_binds!")
extracted_variables_mapping_list.append(
{key: self.extract_field(field)}
)
extracted_variables_mapping[key] = self.extract_field(field)
return extracted_variables_mapping_list
return extracted_variables_mapping
def validate(self, validators, variables_mapping):
""" Bind named validators to value within the context.

View File

@@ -59,34 +59,34 @@ class TestResponse(ApiServerUnittest):
{"resp_content_cities_1": "content.person.cities.1"}
]
resp_obj = response.ResponseObject(resp)
extract_binds_dict_list = resp_obj.extract_response(extract_binds_list)
extract_binds_dict = resp_obj.extract_response(extract_binds_list)
self.assertEqual(
extract_binds_dict_list[0]["resp_status_code"],
extract_binds_dict["resp_status_code"],
200
)
self.assertEqual(
extract_binds_dict_list[1]["resp_headers_content_type"],
extract_binds_dict["resp_headers_content_type"],
"application/json"
)
self.assertEqual(
extract_binds_dict_list[2]["resp_content_body_success"],
extract_binds_dict["resp_content_body_success"],
False
)
self.assertEqual(
extract_binds_dict_list[3]["resp_content_content_success"],
extract_binds_dict["resp_content_content_success"],
False
)
self.assertEqual(
extract_binds_dict_list[4]["resp_content_text_success"],
extract_binds_dict["resp_content_text_success"],
False
)
self.assertEqual(
extract_binds_dict_list[5]["resp_content_person_first_name"],
extract_binds_dict["resp_content_person_first_name"],
"Leo"
)
self.assertEqual(
extract_binds_dict_list[6]["resp_content_cities_1"],
extract_binds_dict["resp_content_cities_1"],
"Shenzhen"
)
@@ -143,9 +143,9 @@ class TestResponse(ApiServerUnittest):
]
resp_obj = response.ResponseObject(resp)
extract_binds_dict_list = resp_obj.extract_response(extract_binds_list)
extract_binds_dict = resp_obj.extract_response(extract_binds_list)
self.assertEqual(
extract_binds_dict_list[0]["resp_content_body"],
extract_binds_dict["resp_content_body"],
"abc"
)
@@ -164,9 +164,9 @@ class TestResponse(ApiServerUnittest):
{"resp_content_body": "content"}
]
resp_obj = response.ResponseObject(resp)
extract_binds_dict_list = resp_obj.extract_response(extract_binds_list)
extract_binds_dict = resp_obj.extract_response(extract_binds_list)
self.assertEqual(
extract_binds_dict_list[0]["resp_content_body"],
extract_binds_dict["resp_content_body"],
""
)