Skip to content

Commit f1217e9

Browse files
committed
test: добавить smoke-покрытие для main и redis dependency
- Добавлены unit-тесты на роуты и middleware регистрации в app.main - Тест get_redis обновлен под синхронную зависимость
1 parent 5691ea9 commit f1217e9

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

tests/unit/test_database_and_redis.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@ async def test_get_db_yields_async_session() -> None:
1818
await generator.aclose()
1919

2020

21-
@pytest.mark.asyncio
22-
async def test_get_redis_returns_shared_client() -> None:
21+
def test_get_redis_returns_shared_client() -> None:
2322
"""Проверяет, что get_redis возвращает общий redis_client из модуля."""
24-
client = await get_redis()
23+
client = get_redis()
2524

2625
assert client is redis_client

tests/unit/test_main_app.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from __future__ import annotations
2+
3+
from app.main import API_V1_PREFIX, app
4+
from app.middleware import LoggingMiddleware, MetricsMiddleware, RequestIDMiddleware
5+
6+
7+
def test_main_registers_expected_routes_with_api_prefix() -> None:
8+
"""Проверяет, что роутеры подключены с корректным префиксом API v1."""
9+
paths = {route.path for route in app.routes}
10+
11+
assert "/metrics" in paths
12+
assert f"{API_V1_PREFIX}/auth/login" in paths
13+
assert f"{API_V1_PREFIX}/health/db" in paths
14+
assert f"{API_V1_PREFIX}/tasks" in paths
15+
assert f"{API_V1_PREFIX}/tags" in paths
16+
17+
18+
def test_main_registers_expected_middlewares() -> None:
19+
"""Проверяет, что middleware стека зарегистрированы в приложении."""
20+
middleware_classes = {middleware.cls for middleware in app.user_middleware}
21+
22+
assert RequestIDMiddleware in middleware_classes
23+
assert LoggingMiddleware in middleware_classes
24+
assert MetricsMiddleware in middleware_classes

0 commit comments

Comments
 (0)