# 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}")