zhenxun_bot/tests/utils.py
AkashiCoin 7e7436f433
添加测试:更新与添加插件 (#1594)
*  测试更新与添加插件

*  Sourcery建议

* 👷 添加pytest

* 🎨 优化代码
2024-09-01 14:53:41 +08:00

66 lines
1.6 KiB
Python

import json
from pathlib import Path
from nonebot.adapters.onebot.v11.event import Sender
from nonebot.adapters.onebot.v11 import Message, MessageSegment, GroupMessageEvent
def get_response_json(path: str) -> dict:
try:
return json.loads(
(Path(__file__).parent / "response" / path).read_text(encoding="utf8")
)
except (FileNotFoundError, json.JSONDecodeError) as e:
raise ValueError(f"Error reading or parsing JSON file: {e}") from e
def get_content_bytes(path: str) -> bytes:
try:
return (Path(__file__).parent / "content" / path).read_bytes()
except FileNotFoundError as e:
raise ValueError(f"Error reading file: {e}") from e
def _v11_group_message_event(
message: str,
self_id: int,
user_id: int,
group_id: int,
message_id: int,
to_me: bool = True,
) -> GroupMessageEvent:
return GroupMessageEvent(
time=1122,
self_id=self_id,
post_type="message",
sub_type="",
user_id=user_id,
message_id=message_id,
message=Message(message),
original_message=Message(message),
message_type="group",
raw_message=message,
font=1,
sender=Sender(user_id=user_id),
to_me=to_me,
group_id=group_id,
)
def _v11_private_message_send(
message: str,
user_id: int,
):
return {
"message_type": "private",
"user_id": user_id,
"message": [
MessageSegment(
type="text",
data={
"text": message,
},
)
],
}