tests astregs: read xml files in binary mode (#38781)

This commit is contained in:
Emmanuel Cazenave 2020-01-15 14:27:42 +01:00
parent 62d443e8c9
commit c5d12c236c
1 changed files with 9 additions and 12 deletions

View File

@ -9,7 +9,7 @@ import re
from requests.exceptions import ConnectionError
from requests import Request
from django.utils.encoding import force_text
from django.utils.encoding import force_bytes, force_str, force_text
from passerelle.apps.astregs.models import AstreGS, Link
@ -19,7 +19,7 @@ BASE_URL = 'https://test-ws-astre-gs.departement06.fr/axis2/services/'
def get_xml_file(filename):
return open(os.path.join(os.path.dirname(__file__),
'data', 'astregs', filename)).read()
'data', 'astregs', filename), 'rb').read()
def contact_search_side_effect(wsdl_url, **kwargs):
if 'Tiers' in wsdl_url:
@ -74,8 +74,8 @@ def recherche_tiers_details_result():
@pytest.fixture
def recherche_tiers_details_empty_result():
content = get_xml_file('RechercheTiersDetails.xml')
return re.sub('<ns1:liste>.*</ns1:liste>', '<ns1:liste></ns1:liste>',
content)
return force_bytes(re.sub('<ns1:liste>.*</ns1:liste>', '<ns1:liste></ns1:liste>',
force_str(content)))
@pytest.fixture
def tiers_creation_response():
@ -115,17 +115,14 @@ def test_search_association_by_siren(mocked_post, mocked_get, recherche_tiers_de
@mock.patch('passerelle.utils.Request.get')
@mock.patch('passerelle.utils.Request.post')
def test_check_association_presence(mocked_post, mocked_get, connector, app):
wsdl_content = open(os.path.join(os.path.dirname(__file__),
'data', 'astregs', 'RechercheTiers.wsdl')).read()
response_content = open(os.path.join(os.path.dirname(__file__),
'data', 'astregs', 'RechercheTiers.xml')).read()
wsdl_content = get_xml_file('RechercheTiers.wsdl')
response_content = get_xml_file('RechercheTiers.xml')
mocked_get.return_value = mock.Mock(content=wsdl_content)
mocked_post.return_value = mock.Mock(content=response_content, status_code=200,
headers={'Content-Type': 'text/xml'})
resp = app.get('/astregs/test/check-association-by-siret', params={'siret': '50043390900014'})
assert resp.json['exists'] == True
response_content = open(os.path.join(os.path.dirname(__file__),
'data', 'astregs', 'RechercheTiersNoResult.xml')).read()
response_content = get_xml_file('RechercheTiersNoResult.xml')
mocked_post.return_value = mock.Mock(content=response_content, status_code=200,
headers={'Content-Type': 'text/xml'})
resp = app.get('/astregs/test/check-association-by-siret', params={'siret': 'unknown'})
@ -156,8 +153,8 @@ def test_association_linking_means(mocked_post, mocked_get, client, connector, a
mock.Mock(content=get_xml_file('Tiers.xml'), status_code=200,
headers={'Content-Type': 'text/xml'}),
mock.Mock(content=get_xml_file('Contact.xml').replace(
'<ns1:TelephoneMobile>06 67 78 89 90<',
'<ns1:TelephoneMobile>%s<' % bad_mobile_number),
b'<ns1:TelephoneMobile>06 67 78 89 90<',
b'<ns1:TelephoneMobile>%s<' % force_bytes(bad_mobile_number)),
status_code=200, headers={'Content-Type': 'text/xml'})
]
resp = app.get('/astregs/test/get-association-link-means', params={'association_id': '42'})