From 01245863a4a908b6d49e77e6da4f3bb8a1c26918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laur=C3=A9line=20Gu=C3=A9rin?= Date: Mon, 15 May 2023 14:31:14 +0200 Subject: [PATCH] astech: fix labels endpoint (#76998) --- passerelle/apps/astech/models.py | 2 ++ tests/test_astech.py | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/passerelle/apps/astech/models.py b/passerelle/apps/astech/models.py index f2ff939c..165cb5d4 100644 --- a/passerelle/apps/astech/models.py +++ b/passerelle/apps/astech/models.py @@ -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} diff --git a/tests/test_astech.py b/tests/test_astech.py index 7cd2a5eb..b79431d7 100644 --- a/tests/test_astech.py +++ b/tests/test_astech.py @@ -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") -- 2.39.2