atal: handle error when uploading big file (#76884)
gitea/passerelle/pipeline/head This commit looks good
Details
gitea/passerelle/pipeline/head This commit looks good
Details
This commit is contained in:
parent
0a6733f070
commit
822a0d83b4
|
@ -23,6 +23,7 @@ from django.db import models
|
||||||
from django.utils import dateformat, dateparse
|
from django.utils import dateformat, dateparse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from zeep import helpers
|
from zeep import helpers
|
||||||
|
from zeep.exceptions import Fault
|
||||||
|
|
||||||
from passerelle.base.models import BaseResource
|
from passerelle.base.models import BaseResource
|
||||||
from passerelle.utils.api import endpoint
|
from passerelle.utils.api import endpoint
|
||||||
|
@ -286,7 +287,11 @@ class ATALConnector(BaseResource):
|
||||||
'numeroDemande': post_data['numero_demande'],
|
'numeroDemande': post_data['numero_demande'],
|
||||||
'nomFichier': filename,
|
'nomFichier': filename,
|
||||||
}
|
}
|
||||||
self._soap_call(wsdl='ChargementPiecesJointesService', method='upload', **data)
|
try:
|
||||||
|
self._soap_call(wsdl='ChargementPiecesJointesService', method='upload', **data)
|
||||||
|
except Fault as e:
|
||||||
|
raise APIError(str(e))
|
||||||
|
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
@endpoint(
|
@endpoint(
|
||||||
|
|
|
@ -7,6 +7,7 @@ import pytest
|
||||||
from django.contrib.contenttypes.models import ContentType
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.utils.http import urlencode
|
from django.utils.http import urlencode
|
||||||
from requests import RequestException
|
from requests import RequestException
|
||||||
|
from zeep.exceptions import Fault
|
||||||
|
|
||||||
from passerelle.apps.atal.models import ATALConnector
|
from passerelle.apps.atal.models import ATALConnector
|
||||||
from passerelle.base.models import AccessRight, ApiUser
|
from passerelle.base.models import AccessRight, ApiUser
|
||||||
|
@ -189,6 +190,15 @@ def test_upload(app, connector, monkeypatch):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_upload_file_too_big(app, connector, monkeypatch):
|
||||||
|
mock_atal_soap_call(monkeypatch, side_effect=Fault('File too big'))
|
||||||
|
base64_str = 'eyJsYXN0X2NoZWNrIjoiMjAxOS0wNC0xMFQxMjowODoyOVoiL' + 'CJweXBpX3ZlcnNpb24iOiIxOS4wLjMifQ=='
|
||||||
|
params = {'numero_demande': 'DIT19050001', 'nom_fichier': 'data.json', 'file': {'content': base64_str}}
|
||||||
|
response = app.post_json('/atal/slug-atal/upload', params=params)
|
||||||
|
assert response.json['err'] == 1
|
||||||
|
assert response.json['err_desc'] == 'File too big'
|
||||||
|
|
||||||
|
|
||||||
def test_retrieve_details_demande(app, connector, monkeypatch):
|
def test_retrieve_details_demande(app, connector, monkeypatch):
|
||||||
import passerelle.utils
|
import passerelle.utils
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue