add get adapter (#1747)

This commit is contained in:
Ju4tCode
2023-02-26 14:15:10 +08:00
committed by GitHub
parent dd04190ca2
commit 04a7c3bc13
2 changed files with 66 additions and 5 deletions

View File

@ -1,8 +1,17 @@
import pytest
from nonebug import App
import nonebot
from nonebot.drivers import ReverseDriver
from nonebot import get_app, get_bot, get_asgi, get_bots, get_driver
from nonebot.drivers import Driver, ReverseDriver
from nonebot import (
get_app,
get_bot,
get_asgi,
get_bots,
get_driver,
get_adapter,
get_adapters,
)
@pytest.mark.asyncio
@ -22,7 +31,7 @@ async def test_init():
@pytest.mark.asyncio
async def test_get(monkeypatch: pytest.MonkeyPatch):
async def test_get(app: App, monkeypatch: pytest.MonkeyPatch):
with monkeypatch.context() as m:
m.setattr(nonebot, "_driver", None)
with pytest.raises(ValueError):
@ -33,6 +42,18 @@ async def test_get(monkeypatch: pytest.MonkeyPatch):
assert get_asgi() == driver.asgi
assert get_app() == driver.server_app
async with app.test_api() as ctx:
adapter = ctx.create_adapter()
adapter_name = adapter.get_name()
with monkeypatch.context() as m:
m.setattr(Driver, "_adapters", {adapter_name: adapter})
assert get_adapters() == {adapter_name: adapter}
assert get_adapter(adapter_name) is adapter
assert get_adapter(adapter.__class__) is adapter
with pytest.raises(ValueError):
get_adapter("not exist")
runned = False
def mock_run(*args, **kwargs):