portfolio: pass text to json (#36515)
This commit is contained in:
parent
0be6a94f13
commit
4aa96b93c5
|
@ -4,6 +4,7 @@ import datetime
|
||||||
import json
|
import json
|
||||||
import pytest
|
import pytest
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import locale
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
@ -17,6 +18,7 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
Image = None
|
Image = None
|
||||||
|
|
||||||
|
from django.utils import six
|
||||||
from django.utils.six import StringIO, BytesIO
|
from django.utils.six import StringIO, BytesIO
|
||||||
from django.utils.six.moves.urllib import parse as urlparse
|
from django.utils.six.moves.urllib import parse as urlparse
|
||||||
|
|
||||||
|
@ -3552,8 +3554,15 @@ def test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio(pub,
|
||||||
http_post_request.return_value = None, 200, 'null', None
|
http_post_request.return_value = None, 200, 'null', None
|
||||||
resp = resp.form.submit('button_export_to')
|
resp = resp.form.submit('button_export_to')
|
||||||
assert http_post_request.call_count == 1
|
assert http_post_request.call_count == 1
|
||||||
assert ("file 'template.pdf' pushed to portfolio of 'Foo Bar\\xc3\\xa9'"
|
if six.PY2:
|
||||||
== caplog.records[-1].message)
|
assert ("file 'template.pdf' pushed to portfolio of 'Foo Bar\\xc3\\xa9'"
|
||||||
|
== caplog.records[-1].message)
|
||||||
|
elif locale.getpreferredencoding() == 'UTF-8':
|
||||||
|
assert ("file 'template.pdf' pushed to portfolio of 'Foo Baré'"
|
||||||
|
== caplog.records[-1].message)
|
||||||
|
else: # Python < 3.7
|
||||||
|
assert ("file 'template.pdf' pushed to portfolio of 'Foo Bar\xe9'"
|
||||||
|
== caplog.records[-1].message)
|
||||||
|
|
||||||
resp = resp.follow() # $form/$id/create_doc
|
resp = resp.follow() # $form/$id/create_doc
|
||||||
resp = resp.follow() # $form/$id/create_doc/
|
resp = resp.follow() # $form/$id/create_doc/
|
||||||
|
@ -3565,8 +3574,7 @@ def test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio(pub,
|
||||||
http_post_request.return_value = None, 400, 'null', None # fail
|
http_post_request.return_value = None, 400, 'null', None # fail
|
||||||
resp = resp.form.submit('button_export_to')
|
resp = resp.form.submit('button_export_to')
|
||||||
assert http_post_request.call_count == 1
|
assert http_post_request.call_count == 1
|
||||||
assert ("file 'template.pdf' failed to be pushed to portfolio of 'Foo Bar\\xc3\\xa9'"
|
assert caplog.records[-1].message.startswith("file 'template.pdf' failed to be pushed to portfolio of 'Foo")
|
||||||
== caplog.records[-1].message)
|
|
||||||
|
|
||||||
# failed to push to portfolio, but document is here
|
# failed to push to portfolio, but document is here
|
||||||
resp = resp.follow() # $form/$id/create_doc
|
resp = resp.follow() # $form/$id/create_doc
|
||||||
|
@ -3587,9 +3595,8 @@ def test_formdata_generated_document_odt_to_pdf_download_push_to_portfolio(pub,
|
||||||
assert payload['file_name'] == 'template.pdf'
|
assert payload['file_name'] == 'template.pdf'
|
||||||
assert payload['user_email'] == 'foo@localhost'
|
assert payload['user_email'] == 'foo@localhost'
|
||||||
assert payload['origin'] == 'example.net'
|
assert payload['origin'] == 'example.net'
|
||||||
assert payload['file_b64_content'].decode('base64').startswith('%PDF')
|
assert base64.decodestring(force_bytes(payload['file_b64_content'])).startswith(b'%PDF')
|
||||||
assert ("file 'template.pdf' pushed to portfolio of 'Foo Bar\\xc3\\xa9'"
|
assert caplog.records[-1].message.startswith("file 'template.pdf' pushed to portfolio of 'Foo")
|
||||||
== caplog.records[-1].message)
|
|
||||||
assert resp.location == form_location
|
assert resp.location == form_location
|
||||||
resp = resp.follow() # back to form page
|
resp = resp.follow() # back to form page
|
||||||
|
|
||||||
|
|
|
@ -92,7 +92,7 @@ def push_document(user, filename, stream):
|
||||||
payload['origin'] = urlparse.urlparse(get_publisher().get_frontoffice_url()).netloc
|
payload['origin'] = urlparse.urlparse(get_publisher().get_frontoffice_url()).netloc
|
||||||
payload['file_name'] = force_text(filename, charset)
|
payload['file_name'] = force_text(filename, charset)
|
||||||
stream.seek(0)
|
stream.seek(0)
|
||||||
payload['file_b64_content'] = base64.b64encode(stream.read())
|
payload['file_b64_content'] = force_text(base64.b64encode(stream.read()))
|
||||||
async_post = fargo_post_json_async('/api/documents/push/', payload)
|
async_post = fargo_post_json_async('/api/documents/push/', payload)
|
||||||
|
|
||||||
def afterjob(job):
|
def afterjob(job):
|
||||||
|
|
Loading…
Reference in New Issue