/
Mihaham
/
Table-Time
Обзор
Документация
Войти
/
Mihaham
/
Table-Time
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
services/api/tests/test_admin_security.py
50 строк
2 KB
MihahamYT
feat: dedicated web panels for all 46 games
14 июн 2026, 21:36
14 июн 2026, 21:36
4e11c3f
Код
Авторство
О чём код?
"""Admin security API tests.""" import os from unittest.mock import AsyncMock, patch import pytest os.environ["ADMIN_TELEGRAM_ID"] = "999888777" os.environ["ADMIN_USERNAME"] = "Mihaham" from app.config import get_settings from tests.test_admin_auth import FakeRedis @pytest.fixture def admin_token(client): get_settings.cache_clear() fake_redis = FakeRedis() with patch("app.modules.admin.auth.get_redis", new_callable=AsyncMock) as mock_redis: mock_redis.return_value = fake_redis req = client.post("/api/v1/auth/admin/otp/request", json={"telegram_id": 999888777}) code = req.json()["code"] verify = client.post( "/api/v1/auth/admin/otp/verify", json={"username": "Mihaham", "code": code}, ) yield verify.json()["access_token"] get_settings.cache_clear() def _admin_headers(token: str) -> dict: return {"Authorization": f"Bearer {token}"} def test_security_events_list(client, admin_token): r = client.get("/api/v1/admin/security/events", headers=_admin_headers(admin_token)) assert r.status_code == 200 assert "events" in r.json() def test_security_rejections_list(client, admin_token): r = client.get("/api/v1/admin/security/rejections", headers=_admin_headers(admin_token)) assert r.status_code == 200 assert "rejections" in r.json() def test_stats_rejections_summary(client, admin_token): r = client.get("/api/v1/admin/stats/rejections?period=7d", headers=_admin_headers(admin_token)) assert r.status_code == 200 assert "by_error_code" in r.json()