test: isolate cow cli plugin import

This commit is contained in:
jimmyzhuu
2026-04-29 16:08:40 +08:00
parent 7cd7bd1a48
commit a4592ffdfe
2 changed files with 18 additions and 1 deletions

View File

@@ -428,7 +428,7 @@ class CowCliPlugin(Plugin):
@staticmethod @staticmethod
def _resolve_bot_type_for_model(model_name: str) -> str: def _resolve_bot_type_for_model(model_name: str) -> str:
"""Resolve bot_type from model name, reusing AgentBridge mapping.""" """Resolve bot_type from model name, matching AgentBridge mapping."""
from common import const from common import const
_EXACT = { _EXACT = {
"wenxin": const.BAIDU, "wenxin-4": const.BAIDU, "wenxin": const.BAIDU, "wenxin-4": const.BAIDU,

View File

@@ -57,6 +57,14 @@ class TestQianfanConstantsAndRouting(unittest.TestCase):
import plugins import plugins
old_plugin_path = plugins.instance.current_plugin_path old_plugin_path = plugins.instance.current_plugin_path
cow_cli_was_registered = "COW_CLI" in plugins.instance.plugins
old_cow_cli_plugin = plugins.instance.plugins.get("COW_CLI")
module_names = ("plugins.cow_cli", "plugins.cow_cli.cow_cli")
old_modules = {
name: sys.modules[name]
for name in module_names
if name in sys.modules
}
plugins.instance.current_plugin_path = os.path.join( plugins.instance.current_plugin_path = os.path.join(
os.path.dirname(__file__), "..", "plugins", "cow_cli" os.path.dirname(__file__), "..", "plugins", "cow_cli"
) )
@@ -65,6 +73,15 @@ class TestQianfanConstantsAndRouting(unittest.TestCase):
cow_cli_plugin = plugins.instance.plugins["COW_CLI"] cow_cli_plugin = plugins.instance.plugins["COW_CLI"]
finally: finally:
plugins.instance.current_plugin_path = old_plugin_path plugins.instance.current_plugin_path = old_plugin_path
if cow_cli_was_registered:
plugins.instance.plugins["COW_CLI"] = old_cow_cli_plugin
else:
plugins.instance.plugins.pop("COW_CLI", None)
for name in module_names:
if name in old_modules:
sys.modules[name] = old_modules[name]
else:
sys.modules.pop(name, None)
self.assertEqual( self.assertEqual(
cow_cli_plugin._resolve_bot_type_for_model("ernie-4.5-turbo-128k"), cow_cli_plugin._resolve_bot_type_for_model("ernie-4.5-turbo-128k"),