def test_files_upload_with_same_key(loop, test_client):
@asyncio.coroutine
def handler(request):
data = yield from request.post()
files = data.getall('file')
file_names = set()
for _file in files:
assert not _file.file.closed
if _file.filename == 'test1.jpeg':
assert _file.file.read() == b'binary data 1'
if _file.filename == 'test2.jpeg':
assert _file.file.read() == b'binary data 2'
file_names.add(_file.filename)
assert len(files) == 2
assert file_names == {'test1.jpeg', 'test2.jpeg'}
resp = web.Response(body=b'OK')
return resp
app = web.Application()
app.router.add_post('/', handler)
client = yield from test_client(app)
data = FormData()
data.add_field('file', b'binary data 1',
content_type='image/jpeg',
filename='test1.jpeg')
data.add_field('file', b'binary data 2',
content_type='image/jpeg',
filename='test2.jpeg')
resp = yield from client.post('/', data=data)
assert 200 == resp.status
评论列表
文章目录