[bug] Make validation status handling more lenient
Allows for lowercase success/failure check and guards against non-standard resposnes Change-Id: I87a8623c6530960b60c470fd1333c8ae6e95eeac
This commit is contained in:
parent
e604118dfb
commit
84f161121d
@ -346,8 +346,12 @@ class ArmadaOperator(BaseOperator):
|
||||
except json.JSONDecodeError as e:
|
||||
raise AirflowException(e)
|
||||
|
||||
status = str(json.loads(validate_site_design_dict).get('status',
|
||||
'unspecified'))
|
||||
# Check if site design is valid
|
||||
if validate_site_design_dict.get('status') == 'Success':
|
||||
logging.info("Armada Site Design valdation status "
|
||||
"is: {}".format(status))
|
||||
if status.lower() == 'success':
|
||||
return 'valid'
|
||||
else:
|
||||
return 'invalid'
|
||||
|
@ -54,19 +54,12 @@ class DeckhandValidateSiteDesignOperator(DeckhandBaseOperator):
|
||||
except requests.exceptions.RequestException as e:
|
||||
raise AirflowException(e)
|
||||
|
||||
# Assigns Boolean 'False' to validation_status if result
|
||||
# status is 'failure'
|
||||
if (any([v.get('status') == 'failure'
|
||||
if (any([str(v.get('status', 'unspecified')).lower() == 'failure'
|
||||
for v in retrieved_list.get('results', [])])):
|
||||
validation_status = False
|
||||
raise AirflowException("DeckHand Site Design Validation Failed!")
|
||||
else:
|
||||
validation_status = True
|
||||
|
||||
if validation_status:
|
||||
logging.info("Revision %d has been successfully validated",
|
||||
self.revision_id)
|
||||
else:
|
||||
raise AirflowException("DeckHand Site Design Validation Failed!")
|
||||
|
||||
|
||||
class DeckhandValidateSiteDesignOperatorPlugin(AirflowPlugin):
|
||||
|
@ -71,10 +71,13 @@ class DrydockValidateDesignOperator(DrydockBaseOperator):
|
||||
logging.info(json.loads(validate_site_design))
|
||||
|
||||
# Check if site design is valid
|
||||
if json.loads(validate_site_design).get('status') == 'Success':
|
||||
status = str(json.loads(validate_site_design).get('status',
|
||||
'unspecified'))
|
||||
if status.lower() == 'success':
|
||||
logging.info("DryDock Site Design has been successfully validated")
|
||||
else:
|
||||
raise AirflowException("DryDock Site Design Validation Failed!")
|
||||
raise AirflowException("DryDock Site Design Validation Failed "
|
||||
"with status: {}!".format(status))
|
||||
|
||||
|
||||
class DrydockValidateDesignOperatorPlugin(AirflowPlugin):
|
||||
|
Loading…
x
Reference in New Issue
Block a user