mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-13 08:29:45 +08:00
make extract_response return as ordered dict
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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"],
|
||||
""
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user