Как правильно передать json словарь с двумя одноименными параметрами в api
Суть в том, что нужно передавать файлы в параметре files по одному. Сколько файлов прикрепляется, столько раз следует повторить этот параметр
Тест имеет вид
def test_create_video_post_with_2_videos():
request_post_create = PostController().create_post(files=video_kuplinov, data=post_json_video_foot)
assert request_post_create['status']['statusCodeValue'] == 200
В методе PostController().create_post находится класс
class PostController(ApiClient):
def create_post(self, files, data):
"Метод для работы с "/api/v2/posts/create"
:param files: принимает на вход файлы видео/картинок
:param data: может принимать ID игры, на тему которой создается пост, ID предложенной игры,
на тему которой создается пост, Id пользователя в игре
"
s = ApiClient.post(self, api_endpoint=url_create_post, files=files,
data=data)
response_json = s.json()
return response_json
В параметр files я передаю словарик, который содержит в себе видеофайлы
video_kuplinov = {
'files': ('kuplinov1.mp4', open('files/kuplinov1.mp4', 'rb'), 'video/mp4'),
'files': ('kuplinov2.mp4', open('files/kuplinov2.mp4', 'rb'), 'video/mp4')
}
Нужно как то этот словарик обернуть, чтобы тест смог взять параметр files с переданном в нем файле и затем взять второй раз параметр files с переданном в нем втором файле. Результатом будет созданный пост с двумя видеофайлами
Источник: Stack Overflow на русском