I trying to make test case for my view, and now I would to send mutipart request with user credentials containing user image. I use MultipartWriter but, when I'm trying to read parts, I get part as None. I'm sure that my test case is wrong written.
Thanks for your help, and sorry for my bad english.
My test case:
async def test_users_post(app):
with open('user_photo.jpg', 'rb') as file:
user_data = dict(
name='Test1',
password='Password',
grand=True,
description='Blank',
email='[email protected]',
file=file
)
with MultipartWriter() as mpwriter:
mpwriter.append_form([(key, value) for key, value in user_data.items()])
response = await app['client'].post('/users', data=mpwriter)
assert response.status == 201
Start lines of view:
async def post(self):
reader = await self.request.multipart()
async with self.request.app['db'].acquire() as conn:
data = {}
while True:
field = await reader.next()
print(field) # field is None here
if not field:
# If not fields were read
Okay I had found way, which doesn't need multipart writer. Now I user aiohttp.FormData for packing user credentials.