test dpark: use force_text on base64 bytes (#38781)

This commit is contained in:
Emmanuel Cazenave 2020-01-21 10:42:22 +01:00
parent 0f6e1db466
commit 478f3bb144
1 changed files with 14 additions and 12 deletions

View File

@ -5,6 +5,7 @@ import os
import pytest
import xml.etree.ElementTree as ET
from django.utils.encoding import force_text
import httmock
from zeep.exceptions import TransportError, Fault as WebFault
@ -564,7 +565,7 @@ def test_registration(dpark, app, application_thirdparty_subscription):
demande_abonnementtiers = \
'<Demande_AbonnementTiers>%s</Demande_AbonnementTiers>' % \
repr(application_thirdparty_subscription).lower()
assert demande_abonnementtiers in dpark.mock_requests[0].body
assert demande_abonnementtiers in force_text(dpark.mock_requests[0].body)
assert resp.json['err'] == 1
assert resp.json['err_desc'] == u'Dossier incomplet'
# with complete application
@ -583,7 +584,7 @@ def test_registration(dpark, app, application_thirdparty_subscription):
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>""")
resp = app.post_json(url, params=params)
assert demande_abonnementtiers in dpark.mock_requests[1].body
assert demande_abonnementtiers in force_text(dpark.mock_requests[1].body)
assert resp.json['data']['numerodossier'] == 22334
assert resp.json['data']['numerodemande'] == 59492
@ -606,19 +607,19 @@ def test_send_files(dpark, app, settings, freezer):
params['justif_domicile'] = {
'filename': 'address_proof.pDf', 'content_type': 'application/pdf',
'content': base64.b64encode('%PDF this is my proof of address')}
'content': force_text(base64.b64encode(b'%PDF this is my proof of address'))}
params['cartegrise,1'] = {
'filename': 'cartegrise.pdf', 'content_type': 'application/pdf',
'content': base64.b64encode('%PDF carte grise 1')
'content': force_text(base64.b64encode(b'%PDF carte grise 1'))
}
params['toto,6'] = {
'filename': 'cartegrisetoto.jpg',
'content_type': 'application/pdf',
'content': base64.b64encode(JPEG_CONTENT)
'content': force_text(base64.b64encode(JPEG_CONTENT))
}
params['cartegrise,6'] = {
'filename': 'cartegrise2.pdf', 'content_type': 'application/pdf',
'content': base64.b64encode('%PDF carte grise 2')
'content': force_text(base64.b64encode(b'%PDF carte grise 2'))
}
params['taxe_habitat'] = {
'filename': 'cartegrise2.pdf', 'content_type': 'application/pdf',
@ -668,17 +669,18 @@ def test_send_files(dpark, app, settings, freezer):
assert len(pj_node.findall('Bloc_Fichiers')) == 4
assert pj_node.findall('Bloc_Fichiers')[0].find('TypeDocument').text == '6'
assert pj_node.findall('Bloc_Fichiers')[0].find('NomFichier').text == 'cartegrise.pdf'
assert pj_node.findall('Bloc_Fichiers')[0].find('Fichier').text == base64.b64encode('%PDF carte grise 1')
assert pj_node.findall('Bloc_Fichiers')[0].find('Fichier').text == force_text(base64.b64encode(b'%PDF carte grise 1'))
assert pj_node.findall('Bloc_Fichiers')[1].find('TypeDocument').text == '6'
assert pj_node.findall('Bloc_Fichiers')[1].find('NomFichier').text == 'cartegrise2.pdf'
assert pj_node.findall('Bloc_Fichiers')[1].find('Fichier').text == base64.b64encode('%PDF carte grise 2')
assert pj_node.findall('Bloc_Fichiers')[1].find('Fichier').text == force_text(
base64.b64encode(b'%PDF carte grise 2'))
assert pj_node.findall('Bloc_Fichiers')[2].find('TypeDocument').text == '2'
assert pj_node.findall('Bloc_Fichiers')[2].find('NomFichier').text == 'address_proof.pDf'
assert pj_node.findall('Bloc_Fichiers')[2].find('Fichier').text == base64.b64encode(
'%PDF this is my proof of address')
assert pj_node.findall('Bloc_Fichiers')[2].find('Fichier').text == force_text(base64.b64encode(
b'%PDF this is my proof of address'))
assert pj_node.findall('Bloc_Fichiers')[3].find('TypeDocument').text == '73'
from passerelle.utils.conversion import to_pdf
assert pj_node.findall('Bloc_Fichiers')[3].find('NomFichier').text == 'cartegrisetoto.jpg.pdf'
assert pj_node.findall('Bloc_Fichiers')[3].find('Fichier').text == base64.b64encode(to_pdf(JPEG_CONTENT))
assert base64.b64decode(pj_node.findall('Bloc_Fichiers')[3].find('Fichier').text).startswith('%PDF')
assert pj_node.findall('Bloc_Fichiers')[3].find('Fichier').text == force_text(base64.b64encode(to_pdf(JPEG_CONTENT)))
assert base64.b64decode(pj_node.findall('Bloc_Fichiers')[3].find('Fichier').text).startswith(b'%PDF')