From a6a497469d9dcb7f00a751196b0cab830603165d Mon Sep 17 00:00:00 2001 From: Giuseppe Steduto Date: Wed, 22 Nov 2023 16:24:49 +0100 Subject: [PATCH] validation: improve warning message for unexpected properties Change the warning message generated when unexpected properties are found in the REANA specification during the validation phase to include the path to the invalidating properties. Closes #679. --- reana_client/validation/utils.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/reana_client/validation/utils.py b/reana_client/validation/utils.py index 3d9e2ea1..4d7b0f84 100644 --- a/reana_client/validation/utils.py +++ b/reana_client/validation/utils.py @@ -58,15 +58,24 @@ def validate_reana_spec( msg_type="warning", indented=True, ) - for warning_key, warning_value in validation_warnings.items(): + for warning_key, warning_values in validation_warnings.items(): if warning_key == "additional_properties": # warning_values is a list of unexpected properties + messages = [ + f"'{value['property']}' (at {value['path']})" + for value in warning_values + ] message = ( f"Unexpected properties found in REANA specification file: " - f"{', '.join(warning_value)}" + f"{', '.join(messages)}." ) else: - message = warning_value + # warning_values is a list of dictionaries with 'message' and 'path' + messages = [ + f"{value['message']} (at {value['path']})" + for value in warning_values + ] + message = f"{'; '.join(messages)}." display_message( message, msg_type="warning",