0001-fields-display-attachment-utf-8-filenames-34783.patch
tests/test_form_pages.py | ||
---|---|---|
2680 | 2680 |
assert 'fargo.js' not in resp.body |
2681 | 2681 |
assert 'use-file-from-fargo' not in resp.body |
2682 | 2682 | |
2683 |
def test_form_file_field_upload(pub): |
|
2684 |
user = create_user(pub) |
|
2685 |
formdef = create_formdef() |
|
2686 |
formdef.fields = [fields.FileField(id='0', type='file')] |
|
2687 |
formdef.store() |
|
2688 |
formdef.data_class().wipe() |
|
2689 | ||
2690 |
upload = Upload(u'C:\\ding\\dong\\téêèst👀.txt', 'foobar', 'text/plain') |
|
2691 | ||
2692 |
resp = get_app(pub).get('/test/') |
|
2693 |
resp.forms[0]['f0$file'] = upload |
|
2694 |
resp = resp.forms[0].submit('submit') |
|
2695 |
assert 'Check values then click submit.' in resp.body |
|
2696 |
assert 'dong' not in resp.text |
|
2697 |
assert u'téêèst👀.txt' in resp.text |
|
2698 | ||
2683 | 2699 |
def test_form_file_field_submit(pub): |
2684 | 2700 |
formdef = create_formdef() |
2685 | 2701 |
formdef.fields = [fields.FileField(id='0', label='file')] |
tests/test_sessions.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 | ||
1 | 3 |
import os |
2 | 4 |
import shutil |
3 | 5 |
import time |
... | ... | |
199 | 201 |
assert pub.session_manager.session_class.count() == 1 |
200 | 202 |
session_id = pub.session_manager.session_class.select()[0].id |
201 | 203 |
assert 'COM1' in resp.body |
204 | ||
205 |
def test_tmp_upload(pub, user, app): |
|
206 |
user_agent = {'User-agent': 'Mozilla/5.0'} |
|
207 |
files = [('field0', u'C:\\ding\\dong\\téêèst👀.txt', r'file content')] |
|
208 | ||
209 |
# submit a file using the endpoint |
|
210 |
resp = app.post('/tmp-upload', headers=user_agent, upload_files=files) |
|
211 |
assert resp.json[0]['name'] == u'téêèst👀.txt' |
|
212 |
token = resp.json[0]['token'] |
|
213 | ||
214 |
# retrieve the file from session |
|
215 |
session = pub.session_manager.session_class.select()[0] |
|
216 |
tempfile = session.get_tempfile_path(token) |
|
217 |
with open(tempfile) as handler: |
|
218 |
assert handler.read() == r'file content' |
wcs/qommon/sessions.py | ||
---|---|---|
282 | 282 |
signer = self.get_signer() |
283 | 283 |
data = { |
284 | 284 |
'orig_filename': upload.orig_filename, |
285 |
'base_filename': upload.base_filename,
|
|
285 |
'base_filename': os.path.basename(upload.orig_filename),
|
|
286 | 286 |
'content_type': upload.content_type, |
287 | 287 |
'charset': upload.charset, |
288 | 288 |
'size': size, |
289 |
- |