Files
blog.pyaqa.ru/tests/unit/infrastructure/database/test_connection.py
Sergey Vanyushkin 3956098d4b
Some checks failed
ci/woodpecker/pr/pipeline Pipeline failed
feat: add alembic migrations and PostgreSQL CI support
- Add alembic dependency and initialize migration framework
- Configure async alembic env.py for SQLAlchemy 2.0
- Create initial migration for PostORM table
- Gate init_db() with SKIP_INIT_DB env var for CI/production
- Add PostgreSQL service to Woodpecker CI pipeline
- Create integration tests for migrations (TC-INT-001..002)
- Create integration tests for SQLAlchemyPostRepository (TC-INT-003..009)
- Add unit test for init_db skip behavior (TC-UNIT-901)
- All 176 tests pass, coverage 72.59%
2026-05-10 07:28:02 +03:00

19 lines
484 B
Python

import os
from unittest.mock import patch
import pytest
from app.infrastructure.database.connection import init_db
class TestInitDB:
@pytest.mark.asyncio
async def test_init_db_skipped_when_skip_env_set(self) -> None:
with patch.dict(os.environ, {"SKIP_INIT_DB": "1"}):
await init_db()
@pytest.mark.asyncio
async def test_init_db_runs_when_no_env(self) -> None:
with patch.dict(os.environ, {}, clear=True):
await init_db()