Victorien
12 hours ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
14 additions and
1 deletions
-
fastapi/dependencies/utils.py
-
tests/test_optional_file_list.py
|
|
|
@ -937,7 +937,10 @@ async def _extract_form_body( |
|
|
|
assert isinstance(value, sequence_types) |
|
|
|
results: list[bytes | str] = [] |
|
|
|
for sub_value in value: |
|
|
|
if isinstance(sub_value, UploadFile): |
|
|
|
results.append(await sub_value.read()) |
|
|
|
else: |
|
|
|
results.append(sub_value) |
|
|
|
value = serialize_sequence_value(field=field, value=results) |
|
|
|
if value is not None: |
|
|
|
values[get_validation_alias(field)] = value |
|
|
|
|
|
|
|
@ -26,3 +26,13 @@ def test_optional_bytes_list_no_files(): |
|
|
|
response = client.post("/files") |
|
|
|
assert response.status_code == 200 |
|
|
|
assert response.json() == {"files_count": 0} |
|
|
|
|
|
|
|
|
|
|
|
def test_optional_bytes_list_send_empty_str(): |
|
|
|
client = TestClient(app) |
|
|
|
response = client.post( |
|
|
|
"/files", |
|
|
|
data={"files": ""}, |
|
|
|
) |
|
|
|
assert response.status_code == 200 |
|
|
|
assert response.json() == {"files_count": 1, "sizes": [0]} |
|
|
|
|