Corp/backend/tests/realtime/test_routing.py
2026-09-07 19:43:48 +03:00

37 lines
1.3 KiB
Python

# tests/realtime/test_routing.py
"""
Тесты для WebSocket routing.
Проверяем правильность маршрутизации WebSocket подключений.
"""
import pytest
from channels.routing import URLRouter
from realtime.routing import websocket_urlpatterns
def test_websocket_urlpatterns_structure():
"""Проверяем структуру websocket_urlpatterns."""
assert isinstance(websocket_urlpatterns, list)
assert len(websocket_urlpatterns) > 0
# Проверяем, что есть паттерн для ws/
patterns = [str(p.pattern) for p in websocket_urlpatterns]
assert any("ws" in p for p in patterns), "Должен быть паттерн для /ws/"
def test_websocket_uses_user_consumer():
"""Проверяем, что WebSocket использует UserConsumer."""
first_pattern = websocket_urlpatterns[0]
assert callable(first_pattern.callback)
assert "UserConsumer" in repr(first_pattern.callback)
def test_url_router_accepts_patterns():
"""Проверяем, что URLRouter принимает наши паттерны."""
try:
router = URLRouter(websocket_urlpatterns)
assert router is not None
except Exception as e:
pytest.fail(f"URLRouter не принял websocket_urlpatterns: {e}")