11 |
11 |
from wcs.qommon.http_request import HTTPRequest
|
12 |
12 |
from wcs.qommon import sessions
|
13 |
13 |
from wcs import fields
|
14 |
|
from wcs.qommon.form import Form
|
|
14 |
from wcs.qommon.form import Form, PicklableUpload
|
15 |
15 |
from wcs.formdef import FormDef
|
|
16 |
from wcs.variables import LazyFormData
|
16 |
17 |
|
17 |
18 |
from utilities import create_temporary_pub, MockSubstitutionVariables
|
18 |
19 |
|
... | ... | |
554 |
555 |
assert fields.DateField().convert_value_from_str('04/01/2015') is not None
|
555 |
556 |
assert fields.DateField().convert_value_from_str('') is None
|
556 |
557 |
assert fields.DateField().convert_value_from_str('not a date') is None
|
|
558 |
|
|
559 |
|
|
560 |
def test_file_convert_from_anything():
|
|
561 |
assert fields.FileField().convert_value_from_anything(None) is None
|
|
562 |
|
|
563 |
value = fields.FileField().convert_value_from_anything(
|
|
564 |
{'content': 'hello', 'filename': 'test.txt'})
|
|
565 |
assert value.base_filename == 'test.txt'
|
|
566 |
assert value.get_file_pointer().read() == b'hello'
|
|
567 |
|
|
568 |
value = fields.FileField().convert_value_from_anything(
|
|
569 |
{'b64_content': 'aGVsbG8=', 'filename': 'test.txt'})
|
|
570 |
assert value.base_filename == 'test.txt'
|
|
571 |
assert value.get_file_pointer().read() == b'hello'
|
|
572 |
|
|
573 |
formdef = FormDef()
|
|
574 |
formdef.name = 'foobarlazy'
|
|
575 |
formdef.fields = [fields.FileField(id='5', label='file', varname='filefield')]
|
|
576 |
formdef.store()
|
|
577 |
formdef.data_class().wipe()
|
|
578 |
formdata = formdef.data_class()()
|
|
579 |
formdata.data = {
|
|
580 |
'5': PicklableUpload('test.txt', 'text/plain'),
|
|
581 |
}
|
|
582 |
formdata.data['5'].receive([b'hello'])
|
|
583 |
formdata.store()
|
|
584 |
|
|
585 |
value = fields.FileField().convert_value_from_anything(
|
|
586 |
formdef.data_class().get(formdata.id).data['5'])
|
|
587 |
assert value.base_filename == 'test.txt'
|
|
588 |
assert value.get_file_pointer().read() == b'hello'
|
|
589 |
|
|
590 |
value = fields.FileField().convert_value_from_anything(
|
|
591 |
LazyFormData(formdef.data_class().get(formdata.id)).var.filefield)
|
|
592 |
assert value.base_filename == 'test.txt'
|
|
593 |
assert value.get_file_pointer().read() == b'hello'
|