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