Skip to content

Commit fe56628

Browse files
committed
✅ Add OneBot V11 Middleware Test
1 parent fa7e8dd commit fe56628

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
[![NoneBot Version](https://img.shields.io/badge/nonebot-2.0.0rc2+-red.svg?style=flat-square)](https://v2.nonebot.dev/)
1111
[![OneBot V12](https://img.shields.io/badge/OneBot-12-black?style=flat-square)](https://12.onebot.dev/)
1212
[![PyPI Version](https://img.shields.io/pypi/v/nonebot-plugin-all4one.svg?style=flat-square)](https://pypi.python.org/pypi/nonebot-plugin-all4one)
13+
[![codecov](https://codecov.io/gh/nonepkg/nonebot-plugin-all4one/branch/master/graph/badge.svg?token=BOK429DAHO)](https://codecov.io/gh/nonepkg/nonebot-plugin-all4one)
1314

1415
</div>
1516

tests/onebot/events.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[
2+
{
3+
"_model": "PrivateMessageEvent",
4+
"self_id": 0,
5+
"time": 0,
6+
"post_type": "message",
7+
"message_type": "private",
8+
"sub_type": "friend",
9+
"message_id": 1,
10+
"user_id": 1,
11+
"message": "[CQ:at,qq=all] Test text",
12+
"raw_message": "[CQ:at,qq=all] Test text",
13+
"font": 0,
14+
"sender": {
15+
"user_id": 1,
16+
"nickname": "Test",
17+
"sex": "unknown",
18+
"age": 0
19+
}
20+
},
21+
{
22+
"_model": "GroupMessageEvent",
23+
"self_id": 0,
24+
"time": 0,
25+
"post_type": "message",
26+
"message_type": "group",
27+
"sub_type": "normal",
28+
"message_id": 1,
29+
"user_id": 1,
30+
"group_id": 1,
31+
"message": "[CQ:at,qq=all] Test text",
32+
"raw_message": "[CQ:at,qq=all] Test text",
33+
"font": 0,
34+
"sender": {
35+
"user_id": 1,
36+
"nickname": "Test",
37+
"sex": "unknown",
38+
"age": 0
39+
},
40+
"anonymous": null
41+
}
42+
]

tests/onebot/test_onebot_v11.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import json
2+
from pathlib import Path
3+
4+
from nonebug import App
5+
from nonebot.adapters.onebot.v11 import Bot, Adapter
6+
from nonebot.adapters.onebot.v12 import GroupMessageEvent, PrivateMessageEvent
7+
8+
9+
async def test_to_onebot_event(app: App):
10+
from nonebot_plugin_all4one.middlewares.onebot.v11 import Middleware
11+
12+
with (Path(__file__).parent / "events.json").open("r", encoding="utf8") as f:
13+
test_events = json.load(f)
14+
15+
async with app.test_api() as ctx:
16+
bot = ctx.create_bot(base=Bot, self_id="0")
17+
middleware = Middleware(bot)
18+
19+
event = Adapter.json_to_event(test_events[0])
20+
assert event
21+
event = await middleware.to_onebot_event(event)
22+
assert isinstance(event[0], PrivateMessageEvent)
23+
assert event[0].message[0].type == "mention_all"
24+
25+
event = Adapter.json_to_event(test_events[1])
26+
assert event
27+
event = await middleware.to_onebot_event(event)
28+
assert isinstance(event[0], GroupMessageEvent)
29+
assert event[0].message[0].type == "mention_all"

0 commit comments

Comments
 (0)