- sql_executor: remplace le filtre regex fragile par une autorisation SQLite (set_authorizer) en complément de mode=ro ; rejette les instructions multiples - uploads: lecture bornée des PDF (helper read_upload_limited, limite 20 Mo, HTTP 413) branchée sur /extract et /save-with-pdf - tests: suite pytest (54 tests) couvrant amounts, dates, storage, sql_executor, uploads et DatabaseService.save_document ; pytest ajouté en dépendance dev Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 lines
634 B
Python
23 lines
634 B
Python
"""Tests de la conversion des dates françaises en ISO."""
|
|
|
|
import pytest
|
|
|
|
from plesna_gerance.utils.dates import parse_french_date
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"raw,expected",
|
|
[
|
|
("01.01.25", "2025-01-01"),
|
|
("31.12.99", "1999-12-31"), # < 50 -> 20xx, >= 50 -> 19xx
|
|
("15.06.49", "2049-06-15"),
|
|
("15.06.50", "1950-06-15"),
|
|
("01/01/2025", "2025-01-01"),
|
|
("01.01.2025", "2025-01-01"),
|
|
("", ""),
|
|
("pas une date", "pas une date"), # format inconnu -> renvoyé tel quel
|
|
],
|
|
)
|
|
def test_parse_french_date(raw, expected):
|
|
assert parse_french_date(raw) == expected
|