mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-14 02:09:40 +08:00
fix duplicate API definition output
This commit is contained in:
@@ -613,17 +613,23 @@ def load_api_folder(api_folder_path):
|
||||
if isinstance(api_items, list):
|
||||
for api_item in api_items:
|
||||
key, api_dict = api_item.popitem()
|
||||
api_id = api_dict.get("id")
|
||||
if api_id in api_definition_mapping:
|
||||
logger.log_warning("API definition duplicated: {}".format(api_id))
|
||||
api_id = api_dict.get("id") or api_dict.get("def") or api_dict.get("name")
|
||||
if key != "api" or not api_id:
|
||||
raise exceptions.ParamsError(
|
||||
"Invalid API defined in {}".format(api_file_path))
|
||||
|
||||
api_definition_mapping[api_id] = api_dict
|
||||
if api_id in api_definition_mapping:
|
||||
raise exceptions.ParamsError(
|
||||
"Duplicated API ({}) defined in {}".format(api_id, api_file_path))
|
||||
else:
|
||||
api_definition_mapping[api_id] = api_dict
|
||||
|
||||
elif isinstance(api_items, dict):
|
||||
if api_file_path in api_definition_mapping:
|
||||
logger.log_warning("API definition duplicated: {}".format(api_file_path))
|
||||
|
||||
api_definition_mapping[api_file_path] = api_items
|
||||
raise exceptions.ParamsError(
|
||||
"Duplicated API defined: {}".format(api_file_path))
|
||||
else:
|
||||
api_definition_mapping[api_file_path] = api_items
|
||||
|
||||
return api_definition_mapping
|
||||
|
||||
|
||||
Reference in New Issue
Block a user