Spaces:
Sleeping
Sleeping
File size: 1,844 Bytes
898ed62 | 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | """Tests pour converter.py — wrapper MarkItDown."""
import tempfile
from unittest.mock import MagicMock, patch
import converter
@patch.object(converter, "_converter")
def test_convert_returns_markdown_text(mock_converter):
"""convert() doit retourner le text_content du résultat MarkItDown."""
mock_result = MagicMock()
mock_result.text_content = "# Hello World"
mock_converter.convert.return_value = mock_result
with tempfile.NamedTemporaryFile(suffix=".txt", delete=True) as f:
result = converter.convert(f.name)
assert result == "# Hello World"
mock_converter.convert.assert_called_once()
def test_convert_file_not_found():
"""convert() doit lever FileNotFoundError si le fichier n'existe pas."""
try:
converter.convert("/chemin/inexistant/fichier.xlsx")
assert False, "Devrait avoir levé une exception"
except FileNotFoundError as e:
assert "Fichier introuvable" in str(e)
def test_convert_path_is_directory():
"""convert() doit lever ValueError si le chemin est un dossier."""
with tempfile.TemporaryDirectory() as tmpdir:
try:
converter.convert(tmpdir)
assert False, "Devrait avoir levé une exception"
except ValueError as e:
assert "n'est pas un fichier" in str(e)
@patch.object(converter, "_converter")
def test_convert_raises_original_exception(mock_converter):
"""convert() doit relayer les exceptions du convertisseur sous-jacent."""
mock_converter.convert.side_effect = RuntimeError("something went wrong")
with tempfile.NamedTemporaryFile(suffix=".xlsx", delete=True) as f:
try:
converter.convert(f.name)
assert False, "Devrait avoir levé une exception"
except Exception as e:
assert "something went wrong" in str(e) |