@@ -316,6 +316,48 @@ class LedgerAndApplicationTests(unittest.TestCase):
|
||||
"第二条回复喵",
|
||||
)
|
||||
|
||||
def test_conversation_context_is_isolated_by_fingerprint(self):
|
||||
observed = {}
|
||||
|
||||
def complete(**kwargs):
|
||||
observed[kwargs["event_id"]] = list(kwargs["context"])
|
||||
return f"{kwargs['event_id']} 回复喵"
|
||||
|
||||
self.application.deepseek.complete = complete
|
||||
self.application.deliver = mock.Mock()
|
||||
for event_id, group, text in (
|
||||
("group-first", "group-a", "@JWeBot 群里的第一条"),
|
||||
("direct-first", "direct-a", "私聊里的第一条"),
|
||||
("group-second", "group-a", "@JWeBot 群里继续"),
|
||||
("direct-second", "direct-a", "私聊继续"),
|
||||
):
|
||||
self.application.accept(event(event_id, text, group=group))
|
||||
self.application.process_direct_chat_once()
|
||||
|
||||
self.assertEqual(
|
||||
observed["group-second"],
|
||||
[("群里的第一条", "group-first 回复喵")],
|
||||
)
|
||||
self.assertEqual(
|
||||
observed["direct-second"],
|
||||
[("私聊里的第一条", "direct-first 回复喵")],
|
||||
)
|
||||
|
||||
def test_shadow_event_is_rejected_before_routing_or_persistence(self):
|
||||
response = self.application.accept(
|
||||
{
|
||||
**event("shadow-1", "/状态", group="direct-a"),
|
||||
"shadow_only": True,
|
||||
"dispatch_allowed": False,
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
response,
|
||||
{"status": "ignored", "reason": "shadow_only"},
|
||||
)
|
||||
self.assertIsNone(self.application.ledger.row("shadow-1"))
|
||||
|
||||
def test_local_game_command_result_is_available_to_followup_chat(self):
|
||||
observed_context = []
|
||||
|
||||
@@ -1039,9 +1081,9 @@ class LedgerAndApplicationTests(unittest.TestCase):
|
||||
self.assertEqual(version["route"], "local")
|
||||
self.assertIn("JWeBot 版本", version["text"])
|
||||
self.assertIn("kernel", version["text"])
|
||||
self.assertIn("最新版本:beta 1.2.8.1019", version["text"])
|
||||
self.assertIn("更新时间:2026-10-19 22:49:30", version["text"])
|
||||
self.assertIn("更新摘要:冷门知识问答题库整体重写", version["text"])
|
||||
self.assertIn("最新版本:beta 2.0.0.1021", version["text"])
|
||||
self.assertIn("更新时间:2026-10-21 16:57:39", version["text"])
|
||||
self.assertIn("更新摘要:Beta 2.0 架构更新完成", version["text"])
|
||||
self.assertEqual(debug["route"], "local")
|
||||
self.assertIn("调试埋点", debug["text"])
|
||||
self.assertEqual(balance["route"], "local")
|
||||
|
||||
Reference in New Issue
Block a user