Ctrl K
ComunidadGuías…

conftest.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
import os
import sys

# Permet à pytest de trouver le package `app` (à la racine du projet)
# quel que soit le répertoire depuis lequel pytest est lancé.
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))

# Les tests ne doivent pas dépendre du .env local (clé API réelle, valeurs
# spécifiques à la machine, etc.). On coupe le load_dotenv() de
# app/config.py en simulant un environnement "prod" avant l'import.
os.environ.setdefault("RAILWAY_ENVIRONMENT", "test")
# La transcription anticipée des segments lance des threads qui feraient varier l'ordre des appels
# simulés dans les tests existants : désactivée par défaut, activée explicitement par ceux qui la testent.
os.environ.setdefault("RECORDING_EARLY_TRANSCRIPTION", "0")

import pytest  # noqa: E402

from app.limiter import limiter  # noqa: E402


@pytest.fixture(autouse=True)
def _reset_rate_limiter():
    """Le TestClient partage toujours la même IP factice ('testclient') : sans
    reset, les appels répétés à /api/transcribe/start entre tests dépasseraient RATE_LIMIT_PROCESS
    et casseraient des tests qui ne testent pas le rate limiting lui-même."""
    limiter.reset()
    yield