Skip to content

Commit 9e30f06

Browse files
committed
feat: 默认使用 fake 适配器
1 parent daf3d1e commit 9e30f06

File tree

2 files changed

+56
-3
lines changed

2 files changed

+56
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/lang/zh-CN/
1010
### Added
1111

1212
- 使用 Pydantic 2.0
13+
- 默认使用 fake 适配器
1314

1415
### Fixed
1516

src/utils/plugin_test.py

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,70 @@
3030

3131
RUNNER = """import json
3232
import os
33-
34-
from nonebot import init, load_plugin, require, logger
33+
from typing import override
34+
35+
from nonebot import init, load_plugin, logger, require
36+
from nonebot.drivers import (
37+
ASGIMixin,
38+
HTTPClientMixin,
39+
Request,
40+
Response,
41+
WebSocketClientMixin,
42+
)
43+
from nonebot.drivers import Driver as BaseDriver
3544
from pydantic import BaseModel
3645
3746
47+
class Driver(BaseDriver, ASGIMixin, HTTPClientMixin, WebSocketClientMixin):
48+
@property
49+
@override
50+
def type(self) -> str:
51+
return "fake"
52+
53+
@property
54+
@override
55+
def logger(self):
56+
return logger
57+
58+
@override
59+
def run(self, *args, **kwargs):
60+
super().run(*args, **kwargs)
61+
62+
@property
63+
@override
64+
def server_app(self):
65+
raise NotImplementedError
66+
67+
@property
68+
@override
69+
def asgi(self):
70+
raise NotImplementedError
71+
72+
@override
73+
def setup_http_server(self, setup):
74+
raise NotImplementedError
75+
76+
@override
77+
def setup_websocket_server(self, setup):
78+
raise NotImplementedError
79+
80+
@override
81+
async def request(self, setup: Request) -> Response:
82+
raise NotImplementedError
83+
84+
@override
85+
async def websocket(self, setup: Request) -> Response:
86+
raise NotImplementedError
87+
88+
3889
class SetEncoder(json.JSONEncoder):
3990
def default(self, obj):
4091
if isinstance(obj, set):
4192
return list(obj)
4293
return json.JSONEncoder.default(self, obj)
4394
44-
init()
95+
96+
init(driver="runner")
4597
plugin = load_plugin("{}")
4698
4799
if not plugin:

0 commit comments

Comments
 (0)