Spaces:
Running
Running
File size: 1,328 Bytes
2fe4365 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | """Tests de _signature_correspond_extension (Algorithms/document_validator.py) :
verifie le contenu reel d'un fichier televerse plutot que sa seule extension."""
import pytest
from Algorithms.document_validator import _signature_correspond_extension
def test_pdf_valide():
assert _signature_correspond_extension(b"%PDF-1.7\n...", ".pdf") is True
def test_png_valide():
assert _signature_correspond_extension(b"\x89PNG\r\n\x1a\n...", ".png") is True
def test_jpeg_valide():
assert _signature_correspond_extension(b"\xff\xd8\xff\xe0...", ".jpg") is True
assert _signature_correspond_extension(b"\xff\xd8\xff\xe0...", ".jpeg") is True
def test_fichier_renomme_rejete():
"""Un .exe renomme en .pdf ne doit pas passer la verification."""
assert _signature_correspond_extension(b"MZ\x90\x00...", ".pdf") is False
def test_texte_brut_renomme_en_png_rejete():
assert _signature_correspond_extension(b"ceci n'est pas une image", ".png") is False
def test_extension_non_surveillee_toujours_acceptee():
"""Pas de blocage sur un type non couvert par la liste (evite les faux negatifs)."""
assert _signature_correspond_extension(b"peu importe le contenu", ".docx") is True
def test_fichier_vide_rejete_pour_type_surveille():
assert _signature_correspond_extension(b"", ".pdf") is False
|