/
pa1ch
/
FitAssistant
Обзор
Документация
Войти
/
pa1ch
/
FitAssistant
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
tests/integration/api/conftest.py
54 строки
1 KB
Pavel Chugaev
feat(voice): rate limiting голосовых эндпоинтов (per-user)
05 июл 2026, 16:27
05 июл 2026, 16:27
5015525
Код
Авторство
О чём код?
import pytest import pytest_asyncio from httpx import ASGITransport, AsyncClient from app.api.deps import get_current_user, get_session from app.api.endpoints import voice from app.main import app @pytest.fixture(autouse=True) def _reset_voice_rate_limiter(): """The voice limiter is a process-wide singleton; clear its counters before each test so limits from one case never leak into the next.""" voice._voice_limiter.reset() yield voice._voice_limiter.reset() @pytest_asyncio.fixture async def client(session, user): async def override_session(): yield session async def override_user(): return user app.dependency_overrides[get_session] = override_session app.dependency_overrides[get_current_user] = override_user async with AsyncClient( transport=ASGITransport(app=app), base_url="http://test", ) as c: yield c app.dependency_overrides.clear() @pytest_asyncio.fixture async def unauth_client(session): """Client with session override but no auth override — for testing auth flows.""" async def override_session(): yield session app.dependency_overrides[get_session] = override_session async with AsyncClient( transport=ASGITransport(app=app), base_url="http://test", ) as c: yield c app.dependency_overrides.clear()