mirror of
https://github.com/willmiao/ComfyUI-Lora-Manager.git
synced 2026-08-11 00:10:14 -03:00
41 lines
1.1 KiB
Python
41 lines
1.1 KiB
Python
"""Tests for the models_changed WebSocket broadcast helper."""
|
|
|
|
import asyncio
|
|
|
|
import pytest
|
|
|
|
from py.routes.handlers import model_handlers
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_broadcast_models_changed_payload(monkeypatch):
|
|
"""The helper must broadcast the models_changed event to all clients."""
|
|
sent = []
|
|
|
|
async def fake_broadcast(data):
|
|
sent.append(data)
|
|
|
|
monkeypatch.setattr(
|
|
"py.services.websocket_manager.ws_manager.broadcast", fake_broadcast
|
|
)
|
|
# Give the create_task a chance to run.
|
|
for _ in range(10):
|
|
await asyncio.sleep(0)
|
|
|
|
model_handlers._broadcast_models_changed()
|
|
await asyncio.sleep(0)
|
|
assert sent == [{"type": "models_changed"}]
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_broadcast_models_changed_survives_broadcast_failure(monkeypatch):
|
|
"""A failing broadcast must not raise out of the mutation handler."""
|
|
async def fake_broadcast(data):
|
|
raise RuntimeError("socket closed")
|
|
|
|
monkeypatch.setattr(
|
|
"py.services.websocket_manager.ws_manager.broadcast", fake_broadcast
|
|
)
|
|
model_handlers._broadcast_models_changed()
|
|
await asyncio.sleep(0)
|