Files
pdf_oralia_vibe/tests/test_uploads.py
Bertrand Benjamin d42bfecab4 chore: ajoute ruff (lint) et corrige les violations
- Config ruff dans pyproject.toml : règles E/W/F/I/UP/B, whitelist des appels
  d'injection FastAPI (Depends/File/Form/Query) pour B008, B904 ignoré
  (traduction volontaire des exceptions en réponses HTTP)
- Auto-fixes : tri des imports, suppression d'imports inutilisés, annotations
  PEP 604, f-strings sans placeholder, modes open redondants
- Suppression de variables inutilisées (config.reset_setting, parser locataires)

ruff check . : All checks passed ; 61 tests OK

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 10:20:36 +02:00

30 lines
789 B
Python

"""Tests de la lecture bornée des uploads."""
import asyncio
import io
import pytest
from fastapi import UploadFile
from plesna_gerance.utils.uploads import UploadTooLargeError, read_upload_limited
def _upload(content: bytes) -> UploadFile:
return UploadFile(filename="x.pdf", file=io.BytesIO(content))
def test_read_upload_under_limit():
content = b"hello world"
result = asyncio.run(read_upload_limited(_upload(content), max_size=1024))
assert result == content
def test_read_upload_over_limit_raises():
content = b"x" * 2048
with pytest.raises(UploadTooLargeError):
asyncio.run(read_upload_limited(_upload(content), max_size=1024))
def test_read_upload_empty():
assert asyncio.run(read_upload_limited(_upload(b""), max_size=1024)) == b""