2022-05-26 16:35:47 +08:00
|
|
|
import pytest
|
|
|
|
|
2023-02-22 23:32:48 +08:00
|
|
|
import nonebot
|
|
|
|
from nonebot.plugin import PluginManager, _managers
|
2022-05-26 16:35:47 +08:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
2023-02-22 23:32:48 +08:00
|
|
|
async def test_get_plugin():
|
2022-05-26 16:35:47 +08:00
|
|
|
# check simple plugin
|
|
|
|
plugin = nonebot.get_plugin("export")
|
|
|
|
assert plugin
|
|
|
|
assert plugin.module_name == "plugins.export"
|
|
|
|
|
|
|
|
# check sub plugin
|
|
|
|
plugin = nonebot.get_plugin("nested_subplugin")
|
|
|
|
assert plugin
|
|
|
|
assert plugin.module_name == "plugins.nested.plugins.nested_subplugin"
|
|
|
|
|
|
|
|
# check get plugin by module name
|
|
|
|
plugin = nonebot.get_plugin_by_module_name("plugins.nested.utils")
|
|
|
|
assert plugin
|
|
|
|
assert plugin.module_name == "plugins.nested"
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.asyncio
|
2023-02-22 23:32:48 +08:00
|
|
|
async def test_get_available_plugin():
|
|
|
|
old_managers = _managers.copy()
|
|
|
|
_managers.clear()
|
|
|
|
try:
|
|
|
|
_managers.append(PluginManager(["plugins.export", "plugin.require"]))
|
|
|
|
|
|
|
|
# check get available plugins
|
|
|
|
plugin_names = nonebot.get_available_plugin_names()
|
|
|
|
assert plugin_names == {"export", "require"}
|
|
|
|
finally:
|
|
|
|
_managers.clear()
|
|
|
|
_managers.extend(old_managers)
|