dpark: add .pdf extension to attached files (#32657)

This commit is contained in:
Benjamin Dauvergne 2019-04-26 18:28:02 +02:00
parent 2f93dffe76
commit d717bdf4be
2 changed files with 8 additions and 4 deletions

View File

@ -468,8 +468,11 @@ class DPark(BaseResource):
except ValueError as e:
errors.append(u'<%s> cannot be converted to PDF: %s' % (key, e))
continue
filename = value['filename']
if not filename.lower().endswith('.pdf'):
filename += '.pdf'
attached_files.append({
'TypeDocument': doc_id, 'NomFichier': value['filename'], 'Fichier': pdf_content})
'TypeDocument': doc_id, 'NomFichier': filename, 'Fichier': pdf_content})
# deduce the number of files
if errors:
raise APIError(errors)

View File

@ -596,14 +596,14 @@ def test_send_files(dpark, app, settings, freezer):
assert resp.json['err_desc'] == u'Numéro de demande introuvable'
params['justif_domicile'] = {
'filename': 'address_proof.pdf', 'content_type': 'application/pdf',
'filename': 'address_proof.pDf', 'content_type': 'application/pdf',
'content': base64.b64encode('%PDF this is my proof of address')}
params['cartegrise,1'] = {
'filename': 'cartegrise.pdf', 'content_type': 'application/pdf',
'content': base64.b64encode('%PDF carte grise 1')
}
params['toto,6'] = {
'filename': 'cartegrisetoto.pdf',
'filename': 'cartegrisetoto.jpg',
'content_type': 'application/pdf',
'content': base64.b64encode(JPEG_CONTENT)
}
@ -664,11 +664,12 @@ def test_send_files(dpark, app, settings, freezer):
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')[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('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')[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')