ci-mypy-fixes
Some checks failed
Deploy on push / deploy (push) Failing after 2m34s

This commit is contained in:
2025-08-12 18:23:53 +03:00
parent d6d88133bd
commit 5876995838
8 changed files with 76 additions and 61 deletions

View File

@@ -7,6 +7,7 @@ from sqlalchemy.pool import StaticPool
import time
import uuid
from starlette.testclient import TestClient
import requests
from services.redis import redis
from orm.base import BaseModel as Base
@@ -27,6 +28,22 @@ def get_test_client():
return app
return TestClient(_import_app())
@pytest.fixture(autouse=True, scope="session")
def _set_requests_default_timeout():
"""Глобально задаем таймаут по умолчанию для requests в тестах, чтобы исключить зависания.
🪓 Упрощение: мокаем методы requests, добавляя timeout=10, если он не указан.
"""
original_request = requests.sessions.Session.request
def request_with_default_timeout(self, method, url, **kwargs): # type: ignore[override]
if "timeout" not in kwargs:
kwargs["timeout"] = 10
return original_request(self, method, url, **kwargs)
requests.sessions.Session.request = request_with_default_timeout # type: ignore[assignment]
yield
requests.sessions.Session.request = original_request # type: ignore[assignment]
@pytest.fixture(scope="session")

View File

@@ -60,8 +60,8 @@ class TestCommunityDeleteE2EBrowser:
# В CI/CD используем uv run python
backend_process = subprocess.Popen(
["uv", "run", "python", "dev.py"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
)
@@ -80,11 +80,7 @@ class TestCommunityDeleteE2EBrowser:
# Если сервер не запустился, выводим логи и завершаем тест
print("❌ Бэкенд сервер не запустился за 20 секунд")
# Получаем логи процесса
if backend_process:
stdout, stderr = backend_process.communicate()
print(f"📋 STDOUT: {stdout.decode()}")
print(f"📋 STDERR: {stderr.decode()}")
# Логи процесса не собираем, чтобы не блокировать выполнение
raise Exception("Бэкенд сервер не запустился за 20 секунд")
@@ -128,8 +124,8 @@ class TestCommunityDeleteE2EBrowser:
try:
frontend_process = subprocess.Popen(
["npm", "run", "dev"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
cwd=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
)
@@ -149,11 +145,7 @@ class TestCommunityDeleteE2EBrowser:
# Если фронтенд не запустился, выводим логи
print("❌ Фронтенд сервер не запустился за 15 секунд")
# Получаем логи процесса
if frontend_process:
stdout, stderr = frontend_process.communicate()
print(f"📋 STDOUT: {stdout.decode()}")
print(f"📋 STDERR: {stderr.decode()}")
# Логи процесса не собираем, чтобы не блокировать выполнение
print("⚠️ Продолжаем тест без фронтенда (только API тесты)")
frontend_process = None