signal_arretes: handle error when requested document is not ready (#70604)
This commit is contained in:
parent
87055032a0
commit
e5275f8a1d
|
@ -280,6 +280,9 @@ class SignalArretes(BaseResource, HTTPResource):
|
|||
def request_document(self, request, request_id):
|
||||
result = self._get_value('GetDocumentDemande', request_id=request_id)
|
||||
|
||||
if isinstance(result, str):
|
||||
raise APIError(result)
|
||||
|
||||
filename = result['name']
|
||||
content_type = result['contentType']
|
||||
|
||||
|
|
|
@ -87,6 +87,12 @@ DOCUMENT_CONTENT = b'Test file content'
|
|||
|
||||
@urlmatch(netloc='^sa.net$', path='^/CreationDemandeService.svc/GetDocumentDemande/.*')
|
||||
def mock_get_document_demande(url, request):
|
||||
if url.path.endswith('unavailable'):
|
||||
return response(
|
||||
200,
|
||||
json.dumps({'GetDocumentDemandeResult': json.dumps("fichier indisponible")}),
|
||||
)
|
||||
|
||||
if url.path.endswith('corrupted'):
|
||||
content = '$$$$$$$'
|
||||
else:
|
||||
|
@ -274,6 +280,12 @@ def test_request_document(app, connector, mock_signal_arretes):
|
|||
assert result.json['err']
|
||||
assert 'Corrupted base64 content' in result.json['err_desc']
|
||||
|
||||
result = app.get(endpoint, params={'request_id': 'document_unavailable'})
|
||||
|
||||
assert 'err' in result.json
|
||||
assert result.json['err']
|
||||
assert 'fichier indisponible' in result.json['err_desc']
|
||||
|
||||
|
||||
@patch('passerelle.utils.Request.get')
|
||||
@pytest.mark.parametrize(
|
||||
|
|
Loading…
Reference in New Issue