arm-core/api/.env.test
Andrey Epifancev 9e53fc64be Схема БД конфигурируемая: настройка DB_SCHEMA вместо зашитой dkb (#38)
DB_SCHEMA (по умолчанию dkb, валидация идентификатора) читают models/base.py (SCHEMA), db/db.py (search_path),
alembic/env.py и миграции 0001-0005 (SCHEMA и строковые FK f"{SCHEMA}.x.id" вместо литералов). В контуре -
OPENBAO__APP__DB_SCHEMA. Офлайн-SQL `alembic upgrade head --sql` при значении по умолчанию совпадает побайтно.
Тесты: валидация настройки, миграции и сессия приложения в схеме dkb_alt; .env.example/.env.test/README/CLAUDE.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EAKRDNzXtRrwmWz9z6PZu3
2026-10-07 19:26:37 +04:00

61 lines
2.5 KiB
Plaintext

# Окружение тестов (pytest.ini: ENV_FILE=.env.test). Только тестовые значения, секретов здесь нет.
# Порты и учётные данные — стандартные для docs/dev/docker-compose.yml (PostgreSQL 5432, NATS 4222, MinIO 9000):
# после `make up` тесты работают без правок. Рабочую БД тесты не трогают (создают armcore_pytest_<hex>).
DEBUG=true
# Схема БД: как в .env.example (тесты используют ту же настройку, что и приложение)
DB_SCHEMA=dkb
# Как в .env.example (тесты сервер не запускают)
SERVER__HOST=127.0.0.1
SERVER__PORT=8000
OPENBAO__DATABASE__DATABASE_URL=postgresql+asyncpg://armka:armka@localhost:5432/armka
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=
# SMB необязателен: пустой SMB_HOST — сессия SMB не регистрируется
OPENBAO__SMB__SMB_HOST=
OPENBAO__SMB__SMB_PATH=
OPENBAO__SMB__SMB_LOGIN=
OPENBAO__SMB__SMB_PASSWORD=
# Доверенные прокси (X-Forwarded-For): адреса через запятую или `*`; адрес клиента в audit_event берётся из заголовка
# только от них. По умолчанию — 127.0.0.1
FORWARDED_ALLOW_IPS=127.0.0.1
# CORS при DEBUG=false (в тестах DEBUG=true — не используется), как в .env.example
CORS_ORIGINS=
AUTH_DEV_ISSUER=true
AUTH_DEV_SECRET=test-only-secret-not-for-production-0123456789
AUTH_JWKS_URL=
AUTH_PUBLIC_KEY=
AUTH_ISSUER=
AUTH_AUDIENCE=
AUTH_EMAIL_CLAIM=email
# Интеграционные тесты включают NATS сами
NATS_ENABLED=false
OUTBOX_POLL_SECONDS=5
ACK_TIMEOUT_SECONDS=30
OUTBOX_MAX_REPUBLISH=3
# Импорт справочников: предельный размер файла (20 МБ), как в .env.example
IMPORT_MAX_BYTES=20971520
# Загрузка первичных файлов и маппинг результатов: значения как в .env.example
UPLOAD_MAX_BYTES=52428800
MAPPING_POLL_SECONDS=5
MAPPING_MAX_ATTEMPTS=3