Feature: 嵌套插件名称作用域优化 (#2665)

This commit is contained in:
Ju4tCode
2024-04-20 14:47:12 +08:00
committed by GitHub
parent e15d544341
commit 6bf10aafb7
16 changed files with 262 additions and 131 deletions

View File

@ -10,18 +10,43 @@ async def test_get_plugin():
# check simple plugin
plugin = nonebot.get_plugin("export")
assert plugin
assert plugin.id_ == "export"
assert plugin.name == "export"
assert plugin.module_name == "plugins.export"
# check sub plugin
plugin = nonebot.get_plugin("nested_subplugin")
plugin = nonebot.get_plugin("nested:nested_subplugin")
assert plugin
assert plugin.id_ == "nested:nested_subplugin"
assert plugin.name == "nested_subplugin"
assert plugin.module_name == "plugins.nested.plugins.nested_subplugin"
# check get plugin by module name
@pytest.mark.asyncio
async def test_get_plugin_by_module_name():
# check get plugin by exact module name
plugin = nonebot.get_plugin_by_module_name("plugins.nested")
assert plugin
assert plugin.id_ == "nested"
assert plugin.name == "nested"
assert plugin.module_name == "plugins.nested"
# check get plugin by sub module name
plugin = nonebot.get_plugin_by_module_name("plugins.nested.utils")
assert plugin
assert plugin.id_ == "nested"
assert plugin.name == "nested"
assert plugin.module_name == "plugins.nested"
# check get plugin by sub plugin exact module name
plugin = nonebot.get_plugin_by_module_name(
"plugins.nested.plugins.nested_subplugin"
)
assert plugin
assert plugin.id_ == "nested:nested_subplugin"
assert plugin.name == "nested_subplugin"
assert plugin.module_name == "plugins.nested.plugins.nested_subplugin"
@pytest.mark.asyncio
async def test_get_available_plugin():
@ -31,8 +56,8 @@ async def test_get_available_plugin():
_managers.append(PluginManager(["plugins.export", "plugin.require"]))
# check get available plugins
plugin_names = nonebot.get_available_plugin_names()
assert plugin_names == {"export", "require"}
plugin_ids = nonebot.get_available_plugin_names()
assert plugin_ids == {"export", "require"}
finally:
_managers.clear()
_managers.extend(old_managers)