feat(cron): bind scheduled automations to sessions
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
from nanobot.bus.events import InboundMessage
|
||||
from nanobot.session.routing import routing_context_for_message
|
||||
|
||||
|
||||
def test_routing_context_keeps_telegram_topic_without_stale_message_id() -> None:
|
||||
context = routing_context_for_message(
|
||||
InboundMessage(
|
||||
channel="telegram",
|
||||
sender_id="user-1",
|
||||
chat_id="-100123",
|
||||
content="set a reminder",
|
||||
metadata={
|
||||
"message_id": 100,
|
||||
"message_thread_id": 42,
|
||||
"_progress": True,
|
||||
},
|
||||
session_key_override="telegram:-100123:topic:42",
|
||||
)
|
||||
)
|
||||
|
||||
assert context == {
|
||||
"channel": "telegram",
|
||||
"chat_id": "-100123",
|
||||
"metadata": {"message_thread_id": 42},
|
||||
}
|
||||
|
||||
|
||||
def test_routing_context_keeps_feishu_topic_anchor() -> None:
|
||||
context = routing_context_for_message(
|
||||
InboundMessage(
|
||||
channel="feishu",
|
||||
sender_id="ou_user",
|
||||
chat_id="oc_chat",
|
||||
content="set a reminder",
|
||||
metadata={
|
||||
"chat_type": "group",
|
||||
"message_id": "om_msg",
|
||||
"thread_id": "omt_thread",
|
||||
"_progress": True,
|
||||
},
|
||||
session_key_override="feishu:oc_chat:om_root",
|
||||
)
|
||||
)
|
||||
|
||||
assert context == {
|
||||
"channel": "feishu",
|
||||
"chat_id": "oc_chat",
|
||||
"metadata": {
|
||||
"chat_type": "group",
|
||||
"message_id": "om_msg",
|
||||
"thread_id": "omt_thread",
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user