Revert "toulouse-maelis: manage XML soap fault detail content (#73411)"

This reverts commit 932907630b.
This commit is contained in:
Nicolas Roche 2023-01-18 17:44:52 +01:00
parent 2f832b30a6
commit 250100fb83
2 changed files with 3 additions and 36 deletions

View File

@ -16,7 +16,6 @@
from urllib import parse as urlparse
from lxml import etree
from requests import RequestException
from zeep import Client
from zeep.cache import InMemoryCache
@ -49,8 +48,6 @@ class SOAPFault(SOAPError):
log_error = False
def __init__(self, client, fault):
if hasattr(fault, 'detail') and isinstance(fault.detail, etree._Element):
fault.detail = etree.tostring(fault.detail).decode()
super().__init__(
f'SOAP service at {client.wsdl.location} returned an error "{fault.message or fault.code}"',
data={

View File

@ -193,15 +193,6 @@ def test_call_with_wrong_credentials(family_service, con):
'log_error': False,
'http_status': 200,
'err_code': 'Family-isWSRunning-ns1:FailedAuthentication',
'data': {
'soap_fault': {
'message': 'The security token could not be authenticated or authorized',
'code': 'ns1:FailedAuthentication',
'actor': None,
'detail': None,
'subcodes': None,
}
},
}
@ -4430,32 +4421,11 @@ def test_read_school_list_address_and_level(site_service, con, app):
def test_read_school_list_address_and_level_soap_error(site_service, con, app):
site_service.add_soap_response(
'readSchoolForAdressAndLevel',
get_xml_file('R_read_school_for_adress_and_level_soap_error.xml'),
status=500,
'readSchoolForAdressAndLevel', get_xml_file('R_read_school_for_adress_and_level_soap_error.xml'), status=500,
)
url = get_endpoint('read-schools-for-address-and-level')
resp = app.get(url, params={'id_street': '', 'num': '', 'year': ''})
assert resp.json['err'] == 'Site-readSchoolForAdressAndLevel-soap:Server'
assert (
resp.json['err_desc']
== 'SOAP service at https://example.org/SiteService?wsdl returned an error "E19 : La voie est obligatoire"'
)
assert resp.json['data'] == {
'soap_fault': {
'message': 'E19 : La voie est obligatoire',
'code': 'soap:Server',
'actor': None,
'detail': '<detail xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
+ '\n <ns1:MaelisSiteException xmlns:ns1="site.ws.maelis.sigec.com">'
+ '\n <message xmlns:ns2="site.ws.maelis.sigec.com">E19 : La voie est obligatoire</message>'
+ '\n <code xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
+ ' xmlns:ns2="site.ws.maelis.sigec.com" xsi:nil="true"/>'
+ '\n </ns1:MaelisSiteException>\n </detail>'
+ '\n ',
'subcodes': None,
}
}
with pytest.raises(TypeError, match='Object of type _Element is not JSON serializable') as e:
resp = app.get(url, params={'id_street': '', 'num': '', 'year': ''})
def test_read_school_list_child_and_level(family_service, con, app):