From a009b7176683f11fd11a78e0f8ed14b1cff91727 Mon Sep 17 00:00:00 2001 From: Mark Mennell Date: Tue, 21 Jul 2026 09:14:25 +0800 Subject: [PATCH] fix(send_message): discover plugins before target fallback --- tests/tools/test_send_message_tool.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/tools/test_send_message_tool.py b/tests/tools/test_send_message_tool.py index 2e4eec156f79e..5e64a957d0661 100644 --- a/tests/tools/test_send_message_tool.py +++ b/tests/tools/test_send_message_tool.py @@ -340,6 +340,10 @@ class TestSendMessageTool: ) platform_registry.register(entry) platform = Platform(platform_name) + # Simulate a fresh `hermes send` process: the dynamic Platform member + # is known from config, but plugin discovery has not registered its + # adapter entry yet. + platform_registry.unregister(platform_name) pconfig = SimpleNamespace(enabled=True, token=None, extra={}) config = SimpleNamespace( platforms={platform: pconfig}, @@ -352,6 +356,10 @@ class TestSendMessageTool: "gateway.channel_directory.resolve_channel_name", return_value=None, ), \ + patch( + "hermes_cli.plugins.discover_plugins", + side_effect=lambda: platform_registry.register(entry), + ) as discover_mock, \ patch("model_tools._run_async", side_effect=_run_async_immediately), \ patch( "tools.send_message_tool._send_to_platform", @@ -371,6 +379,7 @@ class TestSendMessageTool: platform_registry.unregister(platform_name) assert result["success"] is True + discover_mock.assert_called_once_with() send_mock.assert_awaited_once_with( platform, pconfig,