Files
onGuard24/tests/conftest.py

40 lines
1.1 KiB
Python
Raw Permalink Normal View History

"""Изоляция тестов от локального .env: секреты сбрасываются до импорта приложения."""
from __future__ import annotations
import os
# Не ходим в реальные Vault/Grafana/Forgejo/Postgres при прогоне тестов
for key in (
"DATABASE_URL",
"VAULT_ADDR",
"VAULT_TOKEN",
"GRAFANA_URL",
"GRAFANA_SERVICE_ACCOUNT_TOKEN",
"FORGEJO_URL",
"FORGEJO_TOKEN",
"GRAFANA_WEBHOOK_SECRET",
):
os.environ.pop(key, None)
os.environ["DATABASE_URL"] = ""
os.environ["VAULT_ADDR"] = ""
os.environ["GRAFANA_URL"] = ""
os.environ["FORGEJO_URL"] = ""
import pytest
from fastapi.testclient import TestClient
from onguard24.main import app
def pytest_configure() -> None:
"""Дополнительно: гарантировать пустые интеграции."""
os.environ.setdefault("DATABASE_URL", "")
@pytest.fixture
def client() -> TestClient:
"""Контекстный менеджер — отрабатывает lifespan (pool, settings в state)."""
with TestClient(app) as c:
yield c