Merge branch 'philip/meta-cluster-bug' into 'master'

Refactors to handle error in metadata handling

Closes cic-ussd#45

See merge request grassrootseconomics/cic-internal-integration!160
This commit is contained in:
Philip Wafula 2021-05-19 16:25:10 +00:00
commit 1676addbeb

View File

@ -102,7 +102,7 @@ class MetadataRequestsHandler(Metadata):
'digest': json.loads(data).get('digest'), 'digest': json.loads(data).get('digest'),
} }
} }
formatted_data = json.dumps(formatted_data).encode('utf-8') formatted_data = json.dumps(formatted_data)
result = make_request(method='PUT', url=self.url, data=formatted_data, headers=self.headers) result = make_request(method='PUT', url=self.url, data=formatted_data, headers=self.headers)
logg.info(f'signed metadata submission status: {result.status_code}.') logg.info(f'signed metadata submission status: {result.status_code}.')
metadata_http_error_handler(result=result) metadata_http_error_handler(result=result)
@ -116,8 +116,10 @@ class MetadataRequestsHandler(Metadata):
"""This function is responsible for querying the metadata server for data corresponding to a unique pointer.""" """This function is responsible for querying the metadata server for data corresponding to a unique pointer."""
result = make_request(method='GET', url=self.url) result = make_request(method='GET', url=self.url)
metadata_http_error_handler(result=result) metadata_http_error_handler(result=result)
response_data = result.content response_data = result.json()
data = json.loads(response_data.decode('utf-8')) data = json.loads(response_data)
if not isinstance(data, dict):
raise ValueError(f'Invalid data object: {data}.')
if result.status_code == 200 and self.cic_type == ':cic.person': if result.status_code == 200 and self.cic_type == ':cic.person':
person = Person() person = Person()
deserialized_person = person.deserialize(person_data=data) deserialized_person = person.deserialize(person_data=data)