Files
nanobot/tests/webui/test_session_identity.py
T
chengyongruandGitHub f9d449ef6c refactor(webui): isolate websocket application orchestration (#5548)
* refactor(webui): extract session attach projection

* refactor(webui): isolate websocket application orchestration

* refactor(webui): tighten websocket application boundary

* test(webui): assert module logger for fork failures
2026-08-26 18:04:38 +08:00

25 lines
907 B
Python

from nanobot.webui.session_identity import (
WEBUI_SESSION_STORAGE_PREFIX,
is_valid_webui_chat_id,
is_webui_session_key,
webui_chat_id,
webui_session_key,
)
def test_webui_session_identity_preserves_persisted_wire_compatibility() -> None:
assert WEBUI_SESSION_STORAGE_PREFIX == "websocket:"
assert webui_session_key("chat-1") == "websocket:chat-1"
assert is_webui_session_key("websocket:chat-1")
assert webui_chat_id("websocket:chat-1") == "chat-1"
assert webui_chat_id("websocket: chat-1") == " chat-1"
assert webui_chat_id("websocket:") is None
assert webui_chat_id("telegram:chat-1") is None
def test_webui_chat_id_validation_is_protocol_scoped() -> None:
assert is_valid_webui_chat_id("unified:default")
assert is_valid_webui_chat_id("x" * 64)
assert not is_valid_webui_chat_id("x" * 65)
assert not is_valid_webui_chat_id("../escape")