30 lines
892 B
Python
30 lines
892 B
Python
from __future__ import annotations
|
|
|
|
from types import SimpleNamespace
|
|
|
|
from opensquilla.channels.manager import ChannelManager
|
|
|
|
|
|
def test_channel_session_key_prefers_explicit_direct_metadata() -> None:
|
|
message = SimpleNamespace(
|
|
sender_id="user-1",
|
|
channel_id="C-general",
|
|
metadata={"is_group": False, "channel_type": "channel"},
|
|
)
|
|
|
|
key = ChannelManager._build_session_key("slack", message, agent_id="ops")
|
|
|
|
assert key == "agent:ops:slack:direct:user-1"
|
|
|
|
|
|
def test_channel_session_key_uses_group_room_and_thread_when_marked_group() -> None:
|
|
message = SimpleNamespace(
|
|
sender_id="user-1",
|
|
channel_id="C-general",
|
|
metadata={"is_group": True, "thread_ts": "171234.000"},
|
|
)
|
|
|
|
key = ChannelManager._build_session_key("slack", message, agent_id="ops")
|
|
|
|
assert key == "agent:ops:slack:group:C-general:thread:171234.000"
|