mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-31 08:13:11 +03:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from nanobot.session.session_messages import (
|
|
SESSION_MESSAGE_METADATA_KEY,
|
|
SessionMessageEnvelope,
|
|
session_message_envelope,
|
|
)
|
|
|
|
|
|
def _envelope() -> SessionMessageEnvelope:
|
|
return {
|
|
"message_id": "message-1",
|
|
"created_at_ms": 123,
|
|
"expect_reply": True,
|
|
"source_handle": "luma",
|
|
"source_session_key": "websocket:source",
|
|
"target_session_key": "telegram:target",
|
|
}
|
|
|
|
|
|
def test_envelope_round_trips_tool_metadata() -> None:
|
|
envelope = _envelope()
|
|
|
|
assert session_message_envelope({SESSION_MESSAGE_METADATA_KEY: envelope}) == envelope
|
|
|
|
|
|
def test_envelope_rejects_invalid_session_key() -> None:
|
|
envelope = _envelope()
|
|
envelope["source_session_key"] = " "
|
|
|
|
assert session_message_envelope({SESSION_MESSAGE_METADATA_KEY: envelope}) is None
|
|
|
|
|
|
def test_envelope_rejects_missing_fields() -> None:
|
|
envelope = dict(_envelope())
|
|
envelope.pop("target_session_key")
|
|
|
|
assert session_message_envelope({SESSION_MESSAGE_METADATA_KEY: envelope}) is None
|
|
assert session_message_envelope(None) is None
|