|
10 | 10 |
|
11 | 11 |
|
12 | 12 | import os
|
| 13 | +import io |
13 | 14 | import time
|
14 | 15 | import arrow
|
15 | 16 | import celery
|
|
20 | 21 | from unittest import mock
|
21 | 22 | from copy import deepcopy
|
22 | 23 | from base64 import b64encode
|
23 |
| -from datetime import datetime, timedelta, date |
24 | 24 | from os.path import basename
|
| 25 | +from datetime import datetime, timedelta, date |
| 26 | +from quart.datastructures import FileStorage |
25 | 27 | from re import findall
|
26 | 28 | from inspect import isawaitable
|
27 | 29 | from urllib.parse import urlparse
|
@@ -82,10 +84,11 @@ async def expect_status_in(response, codes):
|
82 | 84 |
|
83 | 85 | assert response.status_code in [
|
84 | 86 | int(code) for code in codes
|
85 |
| - ], "expected on of {expected}, got {code}, reason={reason}".format( |
| 87 | + ], "expected one of {expected}, got {code}, reason={reason}, url='{requested_path}'".format( |
86 | 88 | code=response.status_code,
|
87 | 89 | expected=codes,
|
88 | 90 | reason=(await response.get_data()).decode("utf-8"),
|
| 91 | + requested_path=response.request_path, |
89 | 92 | )
|
90 | 93 |
|
91 | 94 |
|
@@ -1230,15 +1233,28 @@ async def when_upload_patch_dictionary(context):
|
1230 | 1233 | async def upload_file(context, dest, filename, file_field, extra_data=None, method="post", user_headers=None):
|
1231 | 1234 | if user_headers is None:
|
1232 | 1235 | user_headers = []
|
| 1236 | + |
1233 | 1237 | with open(get_fixture_path(context, filename), "rb") as f:
|
1234 |
| - data = {file_field: f} |
1235 |
| - if extra_data: |
1236 |
| - data.update(extra_data) |
| 1238 | + file_content = f.read() |
| 1239 | + files = { |
| 1240 | + file_field: FileStorage( |
| 1241 | + io.BytesIO(file_content), |
| 1242 | + filename=os.path.basename(filename), |
| 1243 | + name=file_field, |
| 1244 | + ) |
| 1245 | + } |
| 1246 | + |
1237 | 1247 | headers = [("Content-Type", "multipart/form-data")]
|
1238 | 1248 | headers.extend(user_headers)
|
1239 | 1249 | headers = unique_headers(headers, context.headers)
|
1240 | 1250 | url = get_prefixed_url(context.app, dest)
|
1241 |
| - context.response = await getattr(context.client, method)(url, data=data, headers=headers) |
| 1251 | + |
| 1252 | + context.response = await getattr(context.client, method)( |
| 1253 | + url, |
| 1254 | + files=files, |
| 1255 | + form=extra_data, |
| 1256 | + headers=headers, |
| 1257 | + ) |
1242 | 1258 | await assert_ok(context.response)
|
1243 | 1259 | await store_placeholder(context, url)
|
1244 | 1260 |
|
@@ -1298,7 +1314,6 @@ async def _step_impl_then_get_error(context, code):
|
1298 | 1314 | async def step_impl_then_get_error(context, code):
|
1299 | 1315 | await expect_status(context.response, int(code))
|
1300 | 1316 | if context.text:
|
1301 |
| - print("got", (await context.response.get_data()).decode("utf-8")) |
1302 | 1317 | await test_json(context)
|
1303 | 1318 |
|
1304 | 1319 |
|
@@ -1469,7 +1484,6 @@ async def step_impl_then_get_existing_resource(context):
|
1469 | 1484 |
|
1470 | 1485 | async def step_impl_then_get_existing(context):
|
1471 | 1486 | await assert_200(context.response)
|
1472 |
| - print("got", get_response_readable(await context.response.get_data())) |
1473 | 1487 | await test_json(context)
|
1474 | 1488 |
|
1475 | 1489 |
|
|
0 commit comments