feat: durcit l'exécution SQL IA, borne les uploads et ajoute des tests
- 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>
This commit is contained in:
22
tests/test_dates.py
Normal file
22
tests/test_dates.py
Normal file
@@ -0,0 +1,22 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user