astech: fix labels endpoint (#76998)
gitea/passerelle/pipeline/head This commit looks good Details

This commit is contained in:
Lauréline Guérin 2023-05-15 14:31:14 +02:00
parent 84cd51957e
commit 01245863a4
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
2 changed files with 7 additions and 0 deletions

View File

@ -327,6 +327,8 @@ class ASTech(BaseResource, HTTPResource):
labels = self.call(
'apicli/rule-call-by-alias/libelles_predefinis/invoke', json={'societeDemandeur': company}
)
if not isinstance(labels, dict):
raise APIError('Invalid response: %s' % labels)
labels = [{'id': str(key), 'text': value} for key, value in labels.items()]
labels.sort(key=lambda item: item['id']) # "same as output" sort
return {'data': labels}

View File

@ -243,6 +243,11 @@ def test_labels(mocked_auth, mocked_request, app, setup):
assert response.json['err'] == 0
assert len(response.json['data']) == 4
mocked_request.return_value = tests.utils.FakedResponse(content="[]", status_code=200)
response = app.get(endpoint)
assert response.json['err'] == 1
assert response.json['err_desc'] == 'Invalid response: []'
@mock.patch("passerelle.utils.Request.request")
@mock.patch("passerelle.apps.astech.models.ASTech.get_authorization")