refactor: preserve origin session routing for cron
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import pytest
|
||||
|
||||
from nanobot.cron.session_delivery import bound_session_inbound_context
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("session_key", "expected"),
|
||||
[
|
||||
("websocket:chat-1", ("websocket", "chat-1", {})),
|
||||
(
|
||||
"discord:456:thread:777",
|
||||
(
|
||||
"discord",
|
||||
"777",
|
||||
{
|
||||
"context_chat_id": "456",
|
||||
"parent_channel_id": "456",
|
||||
"thread_id": "777",
|
||||
},
|
||||
),
|
||||
),
|
||||
(
|
||||
"feishu:oc_abc:om_root123",
|
||||
(
|
||||
"feishu",
|
||||
"oc_abc",
|
||||
{
|
||||
"chat_type": "group",
|
||||
"message_id": "om_root123",
|
||||
"thread_id": "om_root123",
|
||||
},
|
||||
),
|
||||
),
|
||||
("slack:C123:1700.42", ("slack", "C123", {"slack": {"thread_ts": "1700.42"}})),
|
||||
("telegram:-100123:topic:42", ("telegram", "-100123", {"message_thread_id": 42})),
|
||||
("dingtalk:group:conv-1:user-1", ("dingtalk", "group:conv-1", {})),
|
||||
],
|
||||
)
|
||||
def test_bound_session_inbound_context(session_key, expected) -> None:
|
||||
assert bound_session_inbound_context(session_key) == expected
|
||||
|
||||
|
||||
def test_bound_session_inbound_context_rejects_invalid_key() -> None:
|
||||
with pytest.raises(ValueError):
|
||||
bound_session_inbound_context("unified")
|
||||
Reference in New Issue
Block a user