opendatasoft: manage error returned (#43223)

This commit is contained in:
Nicolas Roche 2020-05-22 16:09:41 +02:00
parent ba3e133986
commit 7e1e01230d
2 changed files with 16 additions and 0 deletions

View File

@ -73,6 +73,9 @@ class OpenDataSoft(BaseResource):
params.update({'rows': limit})
result_response = self.requests.get(url, params=params)
err_desc = result_response.json().get('error')
if err_desc:
return {'err': 1, 'err_desc': err_desc}
result = []
for record in result_response.json().get('records'):

View File

@ -185,6 +185,19 @@ def test_views(db, admin_user, app, connector):
assert resp.html.find('div', {'id': 'queries'}).ul.li.a.text == 'my query'
@mock.patch('passerelle.utils.Request.get')
def test_search_empty_contents(mocked_get, app, connector):
endpoint = utils.generic_endpoint_url('opendatasoft', 'search', slug=connector.slug)
assert endpoint == '/opendatasoft/my_connector/search'
# error returned by opendadasoft server
json_response = json.dumps({'error': "The query is invalid : Field 00 doesn't exist"})
mocked_get.return_value = utils.FakedResponse(content=json_response, status_code=200)
resp = app.get(endpoint, status=200)
assert resp.json['err']
assert resp.json['err_desc'] == "The query is invalid : Field 00 doesn't exist"
@mock.patch('passerelle.utils.Request.get')
def test_search_using_q(mocked_get, app, connector):
endpoint = utils.generic_endpoint_url('opendatasoft', 'search', slug=connector.slug)