checks.py: тождество сальдо по каждой строке, суммы родителя = Σ детей того же data_type (CURRENCY/QUANTITY исключены; обороты — по колонкам, сальдо — по колонкам или по нетто при свёрнутом сальдо родителя), «Итого» = корневой счёт (R-13: нет корня — «Итого» пусто/0; R-20: нет «Итого» — false и предупреждение). osv.py: OsvParser — лимит размера, чтение по сигнатуре, листы по содержимому (формы ББ/ОФР и прочие — пропуск с предупреждением), карта исходов D-6, кооперативный дедлайн, metrics (rows без TOTAL, warnings с «sheet=<имя> hierarchy=<стратегия>» первой записью по листу). get_parser(settings, rules_dir=…) → OsvParser (словари грузятся при создании: битый словарь — падение старта); PARSE_MAX_BYTES / PARSE_TIMEOUT_SECONDS в Settings и .env.*; app.py передаёт настройки. test_null_parser.py → test_parser_factory.py. Тесты: юнит-карта статусов, «Испорченная сумма», «Пустая ОСВ», два листа ОСВ, новый синоним без релиза кода (R-8); property-тест на 66 реальных файлах (все done, < 5 с, схема v1.1). test_app и интеграционный round-trip ждут ошибку реального парсера вместо NOT_IMPLEMENTED. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
30 lines
1.3 KiB
Plaintext
30 lines
1.3 KiB
Plaintext
# Окружение тестов (pytest.ini: ENV_FILE=.env.test). Только тестовые значения, секретов здесь нет.
|
||
# Порты и учётные данные — стандартные для docs/dev/docker-compose.yml (NATS 4222, MinIO 9000):
|
||
# после `make up` интеграционные тесты работают без правок.
|
||
|
||
DEBUG=true
|
||
|
||
# Как в .env.example (тесты сервер не запускают)
|
||
SERVER__HOST=127.0.0.1
|
||
SERVER__PORT=8000
|
||
|
||
OPENBAO__MINIO__MINIO_URL=localhost:9000
|
||
OPENBAO__MINIO__MINIO_ADMIN_LOGIN=minioadmin
|
||
OPENBAO__MINIO__MINIO_ADMIN_PASSWORD=minioadmin
|
||
OPENBAO__MINIO__MINIO_BUCKET=arm-ka
|
||
# false — MinIO по http (docker compose); по умолчанию true (https, как на платформе)
|
||
OPENBAO__MINIO__MINIO_SECURE=false
|
||
|
||
OPENBAO__NATS__NATS_URL=nats://localhost:4222
|
||
OPENBAO__NATS__NATS_SEED=
|
||
OPENBAO__NATS__NATS_JWT=
|
||
|
||
# Unit-тесты поднимают приложение без NATS; интеграционные включают его сами (см. design D-6)
|
||
NATS_ENABLED=false
|
||
WORKER_CONCURRENCY=1
|
||
PUBLISH_RETRIES=3
|
||
DONE_CACHE_SIZE=1000
|
||
# Лимиты разбора (design D-8): значения по умолчанию
|
||
PARSE_MAX_BYTES=52428800
|
||
PARSE_TIMEOUT_SECONDS=120
|