fix linter, fix ci, fix tests

This commit is contained in:
2026-02-02 00:46:44 +03:00
parent 68041037bd
commit d87d4e492e
93 changed files with 1042 additions and 862 deletions

View File

@@ -6,12 +6,8 @@ from unittest.mock import AsyncMock, MagicMock, patch
import pytest
from aiohttp import web
from helper_bot.server_prometheus import (
MetricsServer,
start_metrics_server,
stop_metrics_server,
)
from helper_bot.server_prometheus import (MetricsServer, start_metrics_server,
stop_metrics_server)
@pytest.mark.unit
@@ -40,7 +36,9 @@ class TestMetricsServer:
self, mock_metrics_module
):
"""metrics_handler при успехе возвращает 200 и данные метрик."""
mock_metrics_module.get_metrics.return_value = b"# TYPE bot_commands_total counter"
mock_metrics_module.get_metrics.return_value = (
b"# TYPE bot_commands_total counter"
)
server = MetricsServer(host="0.0.0.0", port=8080)
request = MagicMock(spec=web.Request)
@@ -63,9 +61,7 @@ class TestMetricsServer:
assert "Metrics not available" in response.text
@patch("helper_bot.server_prometheus.metrics")
async def test_metrics_handler_on_exception_returns_500(
self, mock_metrics_module
):
async def test_metrics_handler_on_exception_returns_500(self, mock_metrics_module):
"""metrics_handler при исключении в get_metrics возвращает 500."""
mock_metrics_module.get_metrics.side_effect = RuntimeError("metrics error")
server = MetricsServer(host="0.0.0.0", port=8080)
@@ -100,9 +96,7 @@ class TestMetricsServer:
assert "Metrics not available" in response.text
@patch("helper_bot.server_prometheus.metrics")
async def test_health_handler_empty_metrics_returns_503(
self, mock_metrics_module
):
async def test_health_handler_empty_metrics_returns_503(self, mock_metrics_module):
"""health_handler при пустых метриках возвращает 503."""
mock_metrics_module.get_metrics.return_value = b""
server = MetricsServer(host="0.0.0.0", port=8080)
@@ -173,9 +167,7 @@ class TestMetricsServer:
@patch.object(MetricsServer, "start", new_callable=AsyncMock)
@patch.object(MetricsServer, "stop", new_callable=AsyncMock)
async def test_context_manager_enters_and_exits(
self, mock_stop, mock_start
):
async def test_context_manager_enters_and_exits(self, mock_stop, mock_start):
"""Использование как async context manager вызывает start и stop."""
mock_start.return_value = None
server = MetricsServer(host="0.0.0.0", port=8080)
@@ -228,6 +220,7 @@ class TestStartStopMetricsServer:
):
"""stop_metrics_server при запущенном сервере останавливает его и обнуляет глобальную переменную."""
import helper_bot.server_prometheus as mod
mock_instance = MagicMock()
mock_instance.stop = AsyncMock()
old_server = mod.metrics_server
@@ -242,6 +235,7 @@ class TestStartStopMetricsServer:
async def test_stop_metrics_server_when_none_does_not_raise(self):
"""stop_metrics_server при metrics_server=None не падает."""
import helper_bot.server_prometheus as mod
old_server = mod.metrics_server
mod.metrics_server = None
try: