mirror of
https://github.com/GSA/notifications-api.git
synced 2026-02-05 02:41:14 -05:00
Add robustness to our v2 schema error messages:
* Ensure we dont raise exception if e.cause does not contain a message * Ensure we handle case where e.path may be empty * Refactor existing tests to conform to new format
This commit is contained in:
@@ -42,4 +42,25 @@ def build_error_message(errors):
|
||||
|
||||
|
||||
def __format_message(e):
|
||||
return e.message.replace("'", "") if not e.cause else "{} {}".format(e.path[0], e.cause.message)
|
||||
def get_path(e):
|
||||
error_path = None
|
||||
try:
|
||||
error_path = e.path[0]
|
||||
finally:
|
||||
return error_path
|
||||
|
||||
def get_error_message(e):
|
||||
error_message = None
|
||||
try:
|
||||
error_message = e.cause.message
|
||||
except AttributeError:
|
||||
error_message = e.message
|
||||
finally:
|
||||
return error_message.replace("'", '')
|
||||
|
||||
path = get_path(e)
|
||||
message = get_error_message(e)
|
||||
if path:
|
||||
return "{} {}".format(path, message)
|
||||
else:
|
||||
return "{}".format(message)
|
||||
|
||||
Reference in New Issue
Block a user