SPB Git

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

1.5 KB · 52 lines python
1# ============================================2# Projet   : API-KA3# Fichier  : tests/conftest.py4# Node     : m3u96b5# Author   : Simon-Pierre Boucher6# Contact  : contact@spboucher.ai7# Date     : 2026-08-168# ============================================9"""Fixtures pytest : environnement de test (SQLite temporaire) et base initialisée.1011L'environnement est configuré au chargement du module, AVANT tout import de12``src.*`` par les modules de test, afin que ``get_settings()`` lise les bonnes13valeurs dès le premier appel.14"""1516from __future__ import annotations1718import os19import tempfile2021_TMP_DIR = tempfile.mkdtemp(prefix="apika-tests-")22os.environ["APP_ENV"] = "test"23os.environ["DATABASE_URL"] = f"sqlite:///{_TMP_DIR}/apika_test.db"24for _svc in ("LOUKA", "IMMOKA", "FOODKA", "AUTOKA", "FABRIKA"):25    os.environ[f"{_svc}_SOURCE_URL"] = f"https://example.test/{_svc.lower()}"2627import pytest  # noqa: E4022829from src.config import get_settings  # noqa: E4023031get_settings.cache_clear()3233from src.database import db as db_module  # noqa: E4023435db_module.reset_engine()36db_module.init_db()373839@pytest.fixture()40def db_session():41    """Session SQLAlchemy transactionnelle sur la base de test."""42    with db_module.session_scope() as session:43        yield session444546@pytest.fixture(autouse=True)47def no_backup(monkeypatch: pytest.MonkeyPatch):48    """Neutralise les backups disque pendant les tests de collecteurs."""49    monkeypatch.setattr(50        "src.collectors.base_collector.backup_service", lambda *args, **kwargs: None51    )52
Files · d8b3b82b3d26606fc87618a645f9e5c207a0ef24
Menu

Theme