toulouse-maelis: use real checks instead of assert statements (#76472) #195

Merged
fpeters merged 1 commits from wip/76472-maelis-asserts into main 2023-04-10 15:17:34 +02:00
1 changed files with 16 additions and 11 deletions

View File

@ -109,11 +109,16 @@ class ToulouseMaelis(BaseResource, HTTPResource):
return serialize_object(response)
def check_status(self):
assert self.call('Family', 'isWSRunning')
assert self.call('Activity', 'isWSRunning')
assert self.call('Invoice', 'isWSRunning')
assert self.call('Site', 'isWSRunning')
assert self.call('Ape', 'isWSRunning')
errors = []
for service in ('Family', 'Activity', 'Invoice', 'Site', 'Ape'):
if not self.call(service, 'isWSRunning'):
errors.append(service)
if errors:
raise Exception('Maelis services (%s) not running' % ', '.join(errors))
def assert_family_or_link(self, family_id, NameID):
# self.get_link will actually raise APIError if there is no link
return bool(family_id or self.get_link(NameID))
def update_referential(self, referential_name, data, id_key, text_key, delete=True):
last_update = now()
@ -1653,7 +1658,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
post={'request_body': {'schema': {'application/json': family_schemas.UPDATE_INDICATOR_SCHEMA}}},
)
def update_rl_indicator(self, request, post_data, rl_id, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
self.check_and_adapt_update_indicator_payload_in_referential('RLIndicator', post_data)
self.call('Family', 'updatePersonIndicatorList', numPerson=rl_id, **post_data)
@ -1901,7 +1906,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
methods=['post'],
)
def update_child_dietcode(self, request, child_id, dietcode, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
self.assert_key_in_referential('DietCode', dietcode, 'dietcode parameter', required=False)
self.call('Family', 'createOrUpdateChildDiet', personNumber=child_id, code=dietcode)
@ -1920,7 +1925,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
post={'request_body': {'schema': {'application/json': family_schemas.PAIINFO_SCHEMA}}},
)
def update_child_pai(self, request, post_data, child_id, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
self.check_and_adapt_child_pai_payoad_in_referential(post_data)
# use None to empty date passed as an empty string by date filter
@ -1944,7 +1949,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
post={'request_body': {'schema': {'application/json': family_schemas.MEDICALRECORD_SCHEMA}}},
)
def update_child_medical_record(self, request, post_data, child_id, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
self.check_and_adapt_child_medical_record_payload_in_referential(post_data)
self.replace_null_values(post_data)
@ -1968,7 +1973,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
post={'request_body': {'schema': {'application/json': family_schemas.VACCIN_SCHEMA}}},
)
def update_child_add_vaccination(self, request, post_data, child_id, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
payload = {
'numPerson': child_id,
@ -1990,7 +1995,7 @@ class ToulouseMaelis(BaseResource, HTTPResource):
post={'request_body': {'schema': {'application/json': family_schemas.UPDATE_INDICATOR_SCHEMA}}},
)
def update_child_indicator(self, request, post_data, child_id, NameID=None, family_id=None):
assert family_id or self.get_link(NameID)
self.assert_family_or_link(family_id, NameID)
self.check_and_adapt_update_indicator_payload_in_referential('ChildIndicator', post_data)
self.call('Family', 'updatePersonIndicatorList', numPerson=child_id, **post_data)