From 7e7436f43309d76551b7492ad3dc20891e2a7c6c Mon Sep 17 00:00:00 2001 From: AkashiCoin Date: Sun, 1 Sep 2024 14:53:41 +0800 Subject: [PATCH] =?UTF-8?q?:white=5Fcheck=5Fmark:=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=EF=BC=9A=E6=9B=B4=E6=96=B0=E4=B8=8E=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=8F=92=E4=BB=B6=20(#1594)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * :white_check_mark: 测试更新与添加插件 * :white_check_mark: Sourcery建议 * :construction_worker: 添加pytest * 🎨 优化代码 --- .github/workflows/bot_check.yml | 13 +- pyproject.toml | 3 + .../auto_update/test_check_update.py | 152 ++++++++++++++++++ .../plugin_store/test_add_plugin.py | 147 +++++++++++++++++ tests/config.py | 20 +++ tests/conftest.py | 84 ++++++++-- tests/content/download_latest_file.tar.gz | Bin 0 -> 128997 bytes tests/response/basic_plugins.json | 32 ++++ tests/response/extra_plugins.json | 24 +++ tests/response/github_sub_plugin_api.json | 18 +++ .../response/github_sub_plugin_contents.json | 18 +++ tests/response/release_latest.json | 39 +++++ tests/response/search_image_plugin_api.json | 18 +++ tests/utils.py | 65 ++++++++ .../auto_update/_data_source.py | 4 +- .../plugin_store/data_source.py | 4 +- 16 files changed, 624 insertions(+), 17 deletions(-) create mode 100644 tests/builtin_plugins/auto_update/test_check_update.py create mode 100644 tests/builtin_plugins/plugin_store/test_add_plugin.py create mode 100644 tests/config.py create mode 100644 tests/content/download_latest_file.tar.gz create mode 100644 tests/response/basic_plugins.json create mode 100644 tests/response/extra_plugins.json create mode 100644 tests/response/github_sub_plugin_api.json create mode 100644 tests/response/github_sub_plugin_contents.json create mode 100644 tests/response/release_latest.json create mode 100644 tests/response/search_image_plugin_api.json create mode 100644 tests/utils.py diff --git a/.github/workflows/bot_check.yml b/.github/workflows/bot_check.yml index b4502d64..f47d4106 100644 --- a/.github/workflows/bot_check.yml +++ b/.github/workflows/bot_check.yml @@ -28,7 +28,14 @@ jobs: uses: actions/cache@v3 with: path: ~/.cache/pypoetry - key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} + key: poetry-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }}-${{ hashFiles('pyproject.toml') }} + + - name: Cache playwright cache + id: cache-playwright + uses: actions/cache@v3 + with: + path: ~/.cache/ms-playwright + key: playwright-cache-${{ runner.os }}-${{ steps.setup_python.outputs.python-version }} - name: Cache Data cache uses: actions/cache@v3 @@ -42,7 +49,9 @@ jobs: rm -rf poetry.lock poetry source remove ali poetry install --no-root - poetry run pip install pydantic==1.10 + + - name: Run tests + run: poetry run pytest --cov=zhenxun --cov-report xml - name: Check bot run id: bot_check_run diff --git a/pyproject.toml b/pyproject.toml index d6d12ec8..7d3c6088 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -134,6 +134,9 @@ typeCheckingMode = "standard" reportShadowedImports = false disableBytesTypePromotions = true +[tool.pytest.ini_options] +asyncio_mode = "auto" + [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" diff --git a/tests/builtin_plugins/auto_update/test_check_update.py b/tests/builtin_plugins/auto_update/test_check_update.py new file mode 100644 index 00000000..a71ee75b --- /dev/null +++ b/tests/builtin_plugins/auto_update/test_check_update.py @@ -0,0 +1,152 @@ +from typing import cast +from pathlib import Path +from collections.abc import Callable + +from nonebug import App +from respx import MockRouter +from pytest_mock import MockerFixture +from nonebot.adapters.onebot.v11 import Bot +from nonebot.adapters.onebot.v11.message import Message + +from tests.config import BotId, UserId, GroupId, MessageId +from tests.utils import ( + get_response_json, + _v11_group_message_event, + _v11_private_message_send, +) + + +def init_mocked_api(mocked_api: MockRouter) -> None: + mocked_api.get( + url="https://api.github.com/repos/HibiKier/zhenxun_bot/releases/latest", + name="release_latest", + ).respond(json=get_response_json(path="release_latest.json")) + mocked_api.get( + url="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/dev/__version__", + name="dev_branch_version", + ).respond(text="__version__: v0.2.2") + mocked_api.get( + url="https://raw.githubusercontent.com/HibiKier/zhenxun_bot/main/__version__", + name="main_branch_version", + ).respond(text="__version__: v0.2.2") + mocked_api.get( + url="https://api.github.com/repos/HibiKier/zhenxun_bot/tarball/v0.2.2", + name="release_download_url", + ).respond( + status_code=302, + headers={ + "Location": "https://codeload.github.com/HibiKier/zhenxun_bot/legacy.tar.gz/refs/tags/v0.2.2" + }, + ) + import io + import tarfile + + tar_buffer = io.BytesIO() + + from zhenxun.builtin_plugins.auto_update.config import ( + REQ_TXT_FILE, + PYPROJECT_FILE, + PYPROJECT_LOCK_FILE, + ) + + # 指定要添加到压缩文件中的文件路径列表 + file_paths: list[Path] = [ + PYPROJECT_FILE, + PYPROJECT_LOCK_FILE, + REQ_TXT_FILE, + ] + + # 打开一个tarfile对象,写入到上面创建的BytesIO对象中 + with tarfile.open(mode="w:gz", fileobj=tar_buffer) as tar: + _extracted_from_init_mocked_api_43(tarfile, tar, file_paths, io) + mocked_api.get( + url="https://codeload.github.com/HibiKier/zhenxun_bot/legacy.tar.gz/refs/tags/v0.2.2", + name="release_download_url_redirect", + ).respond( + content=tar_buffer.getvalue(), + ) + + +# TODO Rename this here and in `init_mocked_api` +def _extracted_from_init_mocked_api_43(tarfile, tar, file_paths, io): + folder_name = "my_folder" + tarinfo = tarfile.TarInfo(folder_name) + tarinfo.type = tarfile.DIRTYPE + tarinfo.mode = 0o755 + tar.addfile(tarinfo) + + # 读取并添加指定的文件 + for file_path in file_paths: + # 读取文件内容 + with open(file_path, "rb") as file: + file_content = file.read() + + # 使用BytesIO创建文件内容 + file_buffer = io.BytesIO(file_content) + + # 创建TarInfo对象 + tarinfo = tarfile.TarInfo( + f"{folder_name}/{file_path.name}" + ) # 使用文件名作为tar中的名字 + tarinfo.mode = 0o644 # 设置文件夹权限 + tarinfo.size = len(file_content) + + # 添加文件 + tar.addfile(tarinfo, fileobj=file_buffer) + + +async def test_check_update_release( + app: App, + mocker: MockerFixture, + mocked_api: MockRouter, + create_bot: Callable, + tmp_path: Path, +) -> None: + """ + 测试检查更新 + """ + from zhenxun.builtin_plugins.auto_update import _matcher + + init_mocked_api(mocked_api=mocked_api) + + mocker.patch( + "zhenxun.builtin_plugins.auto_update._data_source.REPLACE_FOLDERS", + return_value=[], + ) + mocker.patch( + "zhenxun.builtin_plugins.auto_update._data_source.install_requirement", + return_value=None, + ) + + async with app.test_matcher(_matcher) as ctx: + bot = create_bot(ctx) + bot = cast(Bot, bot) + raw_message = "检查更新 release" + event = _v11_group_message_event( + raw_message, + self_id=BotId.QQ_BOT, + user_id=UserId.SUPERUSER, + group_id=GroupId.GROUP_ID_LEVEL_5, + message_id=MessageId.MESSAGE_ID, + to_me=True, + ) + ctx.receive_event(bot, event) + ctx.should_call_api( + "send_msg", + _v11_private_message_send( + message="检测真寻已更新,版本更新:v0.2.2 -> v0.2.2\n开始更新...", + user_id=UserId.SUPERUSER, + ), + ) + ctx.should_call_send( + event=event, + message=Message( + "版本更新完成\n" "版本: v0.2.2 -> v0.2.2\n" "请重新启动真寻以完成更新!" + ), + result=None, + bot=bot, + ) + ctx.should_finished(_matcher) + assert mocked_api["release_latest"].called + assert mocked_api["release_download_url"].called + assert mocked_api["release_download_url_redirect"].called diff --git a/tests/builtin_plugins/plugin_store/test_add_plugin.py b/tests/builtin_plugins/plugin_store/test_add_plugin.py new file mode 100644 index 00000000..1930e23b --- /dev/null +++ b/tests/builtin_plugins/plugin_store/test_add_plugin.py @@ -0,0 +1,147 @@ +from typing import cast +from pathlib import Path +from collections.abc import Callable + +from nonebug import App +from respx import MockRouter +from pytest_mock import MockerFixture +from nonebot.adapters.onebot.v11 import Bot +from nonebot.adapters.onebot.v11.message import Message +from nonebot.adapters.onebot.v11.event import GroupMessageEvent + +from tests.config import BotId, UserId, GroupId, MessageId +from tests.utils import get_response_json, _v11_group_message_event + + +def init_mocked_api(mocked_api: MockRouter) -> None: + mocked_api.get( + "https://cdn.jsdelivr.net/gh/zhenxun-org/zhenxun_bot_plugins/plugins.json", + name="basic_plugins", + ).respond(200, json=get_response_json("basic_plugins.json")) + mocked_api.get( + "https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot_plugins_index/index/plugins.json", + name="extra_plugins", + ).respond(200, json=get_response_json("extra_plugins.json")) + mocked_api.get( + "https://api.github.com/repos/zhenxun-org/zhenxun_bot_plugins/contents/plugins/search_image?ref=main", + name="search_image_plugin_api", + ).respond(200, json=get_response_json("search_image_plugin_api.json")) + mocked_api.get( + "https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot_plugins/main/plugins/search_image/__init__.py", + name="search_image_plugin_file_init", + ).respond(content=b"") + mocked_api.get( + "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/", + name="github_sub_plugin_contents", + ).respond(json=get_response_json("github_sub_plugin_contents.json")) + mocked_api.get( + "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/github_sub?ref=main", + name="github_sub_plugin_api", + ).respond(json=get_response_json("github_sub_plugin_api.json")) + mocked_api.get( + "https://raw.githubusercontent.com/xuanerwa/zhenxun_github_sub/main/github_sub/__init__.py", + name="github_sub_plugin_file_init", + ).respond(content=b"") + + +async def test_add_plugin_basic( + app: App, + mocker: MockerFixture, + mocked_api: MockRouter, + create_bot: Callable, + tmp_path: Path, +) -> None: + """ + 测试添加基础插件 + """ + from zhenxun.builtin_plugins.plugin_store import _matcher + + init_mocked_api(mocked_api=mocked_api) + mocker.patch( + "zhenxun.builtin_plugins.plugin_store.data_source.BASE_PATH", + return_value=tmp_path / "zhenxun", + ) + + plugin_id = 1 + + async with app.test_matcher(_matcher) as ctx: + bot = create_bot(ctx) + bot: Bot = cast(Bot, bot) + raw_message = f"添加插件 {plugin_id}" + event: GroupMessageEvent = _v11_group_message_event( + message=raw_message, + self_id=BotId.QQ_BOT, + user_id=UserId.SUPERUSER, + group_id=GroupId.GROUP_ID_LEVEL_5, + message_id=MessageId.MESSAGE_ID, + to_me=True, + ) + ctx.receive_event(bot=bot, event=event) + ctx.should_call_send( + event=event, + message=Message(message=f"正在添加插件 Id: {plugin_id}"), + result=None, + bot=bot, + ) + ctx.should_call_send( + event=event, + message=Message(message="插件 识图 安装成功! 重启后生效"), + result=None, + bot=bot, + ) + assert mocked_api["basic_plugins"].called + assert mocked_api["extra_plugins"].called + assert mocked_api["search_image_plugin_api"].called + assert mocked_api["search_image_plugin_file_init"].called + + +async def test_add_plugin_extra( + app: App, + mocker: MockerFixture, + mocked_api: MockRouter, + create_bot: Callable, + tmp_path: Path, +) -> None: + """ + 测试添加额外插件 + """ + from zhenxun.builtin_plugins.plugin_store import _matcher + + init_mocked_api(mocked_api=mocked_api) + mocker.patch( + "zhenxun.builtin_plugins.plugin_store.data_source.BASE_PATH", + return_value=tmp_path / "zhenxun", + ) + + plugin_id = 3 + + async with app.test_matcher(_matcher) as ctx: + bot = create_bot(ctx) + bot: Bot = cast(Bot, bot) + raw_message: str = f"添加插件 {plugin_id}" + event: GroupMessageEvent = _v11_group_message_event( + message=raw_message, + self_id=BotId.QQ_BOT, + user_id=UserId.SUPERUSER, + group_id=GroupId.GROUP_ID_LEVEL_5, + message_id=MessageId.MESSAGE_ID, + to_me=True, + ) + ctx.receive_event(bot=bot, event=event) + ctx.should_call_send( + event=event, + message=Message(message=f"正在添加插件 Id: {plugin_id}"), + result=None, + bot=bot, + ) + ctx.should_call_send( + event=event, + message=Message(message="插件 github订阅 安装成功! 重启后生效"), + result=None, + bot=bot, + ) + assert mocked_api["basic_plugins"].called + assert mocked_api["extra_plugins"].called + assert mocked_api["github_sub_plugin_contents"].called + assert mocked_api["github_sub_plugin_api"].called + assert mocked_api["github_sub_plugin_file_init"].called diff --git a/tests/config.py b/tests/config.py new file mode 100644 index 00000000..7a54cd45 --- /dev/null +++ b/tests/config.py @@ -0,0 +1,20 @@ +class BotId: + QQ_BOT = 12345 + + +class UserId: + SUPERUSER = 10000 + SUPERUSER_QQ = 11000 + SUPERUSER_DODO = 12000 + USER_LEVEL_0 = 10010 + USER_LEVEL_5 = 10005 + + +class GroupId: + GROUP_ID_LEVEL_0 = 20000 + GROUP_ID_LEVEL_5 = 20005 + + +class MessageId: + MESSAGE_ID = 30001 + MESSAGE_ID_2 = 30002 diff --git a/tests/conftest.py b/tests/conftest.py index cc181291..173b1bff 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,37 +1,99 @@ +import json from pathlib import Path +from collections.abc import Callable -import nonebot import pytest -from nonebot.plugin import Plugin -from nonebug import NONEBOT_INIT_KWARGS +import nonebot from nonebug.app import App -from pytest_mock import MockerFixture from respx import MockRouter +from pytest_mock import MockerFixture +from nonebug import NONEBOT_INIT_KWARGS +from nonebug.mixin.process import MatcherContext + +from tests.config import BotId, UserId + +nonebot.load_plugin("nonebot_plugin_session") + + +def get_response_json(path: str) -> dict: + return json.loads( + (Path(__file__).parent / "response" / path).read_text(encoding="utf8") + ) def pytest_configure(config: pytest.Config) -> None: config.stash[NONEBOT_INIT_KWARGS] = { "driver": "~fastapi+~httpx+~websockets", - "superusers": ["AkashiCoin"], - "command_start": "", + "superusers": [UserId.SUPERUSER.__str__()], + "command_start": [""], "session_running_expression": "别急呀,小真寻要宕机了!QAQ", "image_to_bytes": False, "nickname": ["真寻", "小真寻", "绪山真寻", "小寻子"], "session_expire_timeout": 30, "self_nickname": "小真寻", "db_url": "sqlite://:memory:", - "platform_superusers": {"qq": ["qq_su"], "dodo": ["dodo_su"]}, + "platform_superusers": { + "qq": [UserId.SUPERUSER_QQ.__str__()], + "dodo": [UserId.SUPERUSER_DODO.__str__()], + }, "host": "127.0.0.1", "port": 8080, + "log_level": "DEBUG", } @pytest.fixture(scope="session", autouse=True) -def load_plugin(nonebug_init: None) -> set[Plugin]: - return nonebot.load_plugins("zhenxun.plugins") +def _init_bot(nonebug_init: None): + from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter + + driver = nonebot.get_driver() + driver.register_adapter(OneBotV11Adapter) + + nonebot.load_plugin("nonebot_plugin_alconna") + nonebot.load_plugin("nonebot_plugin_apscheduler") + nonebot.load_plugin("nonebot_plugin_userinfo") + nonebot.load_plugin("nonebot_plugin_htmlrender") + + nonebot.load_plugins("zhenxun/builtin_plugins") + nonebot.load_plugins("zhenxun/plugins") @pytest.fixture async def app(app: App, tmp_path: Path, mocker: MockerFixture): - mocker.patch("nonebot.drivers.websockets.connect", return_value=MockRouter()) - return app + from zhenxun.services.db_context import init, disconnect + + driver = nonebot.get_driver() + # 清除连接钩子,现在 NoneBug 会自动触发 on_bot_connect + driver._bot_connection_hook.clear() + mock_config_path = mocker.MagicMock() + mock_config_path.LOG_PATH = tmp_path / "log" + # mock_config_path.LOG_PATH.mkdir(parents=True, exist_ok=True) + mock_config_path.DATA_PATH = tmp_path / "data" + # mock_config_path.DATA_PATH.mkdir(parents=True, exist_ok=True) + mock_config_path.TEMP_PATH = tmp_path / "resources" / "temp" + # mock_config_path.TEMP_PATH.mkdir(parents=True, exist_ok=True) + + mocker.patch("zhenxun.configs.path_config", return_value=mock_config_path) + + await init() + yield app + await disconnect() + + +@pytest.fixture +def create_bot() -> Callable: + from nonebot.adapters.onebot.v11 import Bot, Adapter + + def _create_bot(context: MatcherContext): + return context.create_bot( + base=Bot, + adapter=nonebot.get_adapter(Adapter), + self_id=BotId.QQ_BOT.__str__(), + ) + + return _create_bot + + +@pytest.fixture +def mocked_api(respx_mock: MockRouter): + return respx_mock diff --git a/tests/content/download_latest_file.tar.gz b/tests/content/download_latest_file.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e10d5051e3a82815390764e0c31206c78e8419fd GIT binary patch literal 128997 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 literal 0 HcmV?d00001 diff --git a/tests/response/basic_plugins.json b/tests/response/basic_plugins.json new file mode 100644 index 00000000..5c733913 --- /dev/null +++ b/tests/response/basic_plugins.json @@ -0,0 +1,32 @@ +{ + "鸡汤": { + "module": "jitang", + "module_path": "plugins.alapi.jitang", + "description": "喏,亲手为你煮的鸡汤", + "usage": "不喝点什么感觉有点不舒服\n 指令:\n 鸡汤", + "author": "HibiKier", + "version": "0.1", + "plugin_type": "NORMAL", + "is_dir": false + }, + "识图": { + "module": "search_image", + "module_path": "plugins.search_image", + "description": "以图搜图,看破本源", + "usage": "识别图片 [二次元图片]\n 指令:\n 识图 [图片]", + "author": "HibiKier", + "version": "0.1", + "plugin_type": "NORMAL", + "is_dir": true + }, + "网易云热评": { + "module": "comments_163", + "module_path": "plugins.alapi.comments_163", + "description": "生了个人,我很抱歉", + "usage": "到点了,还是防不了下塔\n 指令:\n 网易云热评/到点了/12点了", + "author": "HibiKier", + "version": "0.1", + "plugin_type": "NORMAL", + "is_dir": false + } +} diff --git a/tests/response/extra_plugins.json b/tests/response/extra_plugins.json new file mode 100644 index 00000000..9d92f859 --- /dev/null +++ b/tests/response/extra_plugins.json @@ -0,0 +1,24 @@ +{ + "github订阅": { + "module": "github_sub", + "module_path": "github_sub", + "description": "订阅github用户或仓库", + "usage": "usage:\n github新Comment,PR,Issue等提醒\n 指令:\n 添加github ['用户'/'仓库'] [用户名/{owner/repo}]\n 删除github [用户名/{owner/repo}]\n 查看github\n 示例:添加github订阅 用户 HibiKier\n 示例:添加gb订阅 仓库 HibiKier/zhenxun_bot\n 示例:添加github 用户 HibiKier\n 示例:删除gb订阅 HibiKier", + "author": "xuanerwa", + "version": "0.7", + "plugin_type": "NORMAL", + "is_dir": true, + "github_url": "https://github.com/xuanerwa/zhenxun_github_sub" + }, + "Minecraft查服": { + "module": "mc_check", + "module_path": "mc_check", + "description": "Minecraft服务器状态查询,支持IPv6", + "usage": "Minecraft服务器状态查询,支持IPv6\n用法:\n\t查服 [ip]:[端口] / 查服 [ip]\n\t设置语言 zh-cn\n\t当前语言\n\t语言列表\neg:\t\nmcheck ip:port / mcheck ip\n\tset_lang en\n\tlang_now\n\tlang_list", + "author": "molanp", + "version": "1.13", + "plugin_type": "NORMAL", + "is_dir": true, + "github_url": "https://github.com/molanp/zhenxun_check_Minecraft" + } +} diff --git a/tests/response/github_sub_plugin_api.json b/tests/response/github_sub_plugin_api.json new file mode 100644 index 00000000..22fdefa5 --- /dev/null +++ b/tests/response/github_sub_plugin_api.json @@ -0,0 +1,18 @@ +[ + { + "name": "__init__.py", + "path": "github_sub/__init__.py", + "sha": "7d17fd49fe82fa3897afcef61b2c694ed93a4ba3", + "size": 7551, + "url": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/github_sub/__init__.py?ref=main", + "html_url": "https://github.com/xuanerwa/zhenxun_github_sub/blob/main/github_sub/__init__.py", + "git_url": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/git/blobs/7d17fd49fe82fa3897afcef61b2c694ed93a4ba3", + "download_url": "https://raw.githubusercontent.com/xuanerwa/zhenxun_github_sub/main/github_sub/__init__.py", + "type": "file", + "_links": { + "self": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/github_sub/__init__.py?ref=main", + "git": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/git/blobs/7d17fd49fe82fa3897afcef61b2c694ed93a4ba3", + "html": "https://github.com/xuanerwa/zhenxun_github_sub/blob/main/github_sub/__init__.py" + } + } +] diff --git a/tests/response/github_sub_plugin_contents.json b/tests/response/github_sub_plugin_contents.json new file mode 100644 index 00000000..1ae5a928 --- /dev/null +++ b/tests/response/github_sub_plugin_contents.json @@ -0,0 +1,18 @@ +[ + { + "name": "github_sub", + "path": "github_sub", + "sha": "0f7d76bcf472e2ab0610fa542b067633d6e3ae7e", + "size": 0, + "url": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/github_sub?ref=main", + "html_url": "https://github.com/xuanerwa/zhenxun_github_sub/tree/main/github_sub", + "git_url": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/git/trees/0f7d76bcf472e2ab0610fa542b067633d6e3ae7e", + "download_url": null, + "type": "dir", + "_links": { + "self": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/contents/github_sub?ref=main", + "git": "https://api.github.com/repos/xuanerwa/zhenxun_github_sub/git/trees/0f7d76bcf472e2ab0610fa542b067633d6e3ae7e", + "html": "https://github.com/xuanerwa/zhenxun_github_sub/tree/main/github_sub" + } + } +] diff --git a/tests/response/release_latest.json b/tests/response/release_latest.json new file mode 100644 index 00000000..099c928a --- /dev/null +++ b/tests/response/release_latest.json @@ -0,0 +1,39 @@ +{ + "url": "https://api.github.com/repos/HibiKier/zhenxun_bot/releases/172632135", + "assets_url": "https://api.github.com/repos/HibiKier/zhenxun_bot/releases/172632135/assets", + "upload_url": "https://uploads.github.com/repos/HibiKier/zhenxun_bot/releases/172632135/assets{?name,label}", + "html_url": "https://github.com/HibiKier/zhenxun_bot/releases/tag/v0.2.2", + "id": 172632135, + "author": { + "login": "HibiKier", + "id": 45528451, + "node_id": "MDQ6VXNlcjQ1NTI4NDUx", + "avatar_url": "https://avatars.githubusercontent.com/u/45528451?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/HibiKier", + "html_url": "https://github.com/HibiKier", + "followers_url": "https://api.github.com/users/HibiKier/followers", + "following_url": "https://api.github.com/users/HibiKier/following{/other_user}", + "gists_url": "https://api.github.com/users/HibiKier/gists{/gist_id}", + "starred_url": "https://api.github.com/users/HibiKier/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/HibiKier/subscriptions", + "organizations_url": "https://api.github.com/users/HibiKier/orgs", + "repos_url": "https://api.github.com/users/HibiKier/repos", + "events_url": "https://api.github.com/users/HibiKier/events{/privacy}", + "received_events_url": "https://api.github.com/users/HibiKier/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOFe9cjs4KSihH", + "tag_name": "v0.2.2", + "target_commitish": "main", + "name": "v0.2.2", + "draft": false, + "prerelease": false, + "created_at": "2024-08-29T18:48:53Z", + "published_at": "2024-08-29T18:49:34Z", + "assets": [], + "tarball_url": "https://api.github.com/repos/HibiKier/zhenxun_bot/tarball/v0.2.2", + "zipball_url": "https://api.github.com/repos/HibiKier/zhenxun_bot/zipball/v0.2.2", + "body": "* 集成webui\r\n* 移除plugins\r\n* 签到和帮助ui改版\r\n* 修改bug" +} diff --git a/tests/response/search_image_plugin_api.json b/tests/response/search_image_plugin_api.json new file mode 100644 index 00000000..9e4fc723 --- /dev/null +++ b/tests/response/search_image_plugin_api.json @@ -0,0 +1,18 @@ +[ + { + "name": "__init__.py", + "path": "plugins/search_image/__init__.py", + "sha": "38e86de0caafe6c3e88d973fb5c4bc9d1430d213", + "size": 3010, + "url": "https://api.github.com/repos/zhenxun-org/zhenxun_bot_plugins/contents/plugins/search_image/__init__.py?ref=main", + "html_url": "https://github.com/zhenxun-org/zhenxun_bot_plugins/blob/main/plugins/search_image/__init__.py", + "git_url": "https://api.github.com/repos/zhenxun-org/zhenxun_bot_plugins/git/blobs/38e86de0caafe6c3e88d973fb5c4bc9d1430d213", + "download_url": "https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot_plugins/main/plugins/search_image/__init__.py", + "type": "file", + "_links": { + "self": "https://api.github.com/repos/zhenxun-org/zhenxun_bot_plugins/contents/plugins/search_image/__init__.py?ref=main", + "git": "https://api.github.com/repos/zhenxun-org/zhenxun_bot_plugins/git/blobs/38e86de0caafe6c3e88d973fb5c4bc9d1430d213", + "html": "https://github.com/zhenxun-org/zhenxun_bot_plugins/blob/main/plugins/search_image/__init__.py" + } + } +] diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 00000000..5988fbae --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,65 @@ +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, + }, + ) + ], + } diff --git a/zhenxun/builtin_plugins/auto_update/_data_source.py b/zhenxun/builtin_plugins/auto_update/_data_source.py index 8bdb349f..ab8a225d 100644 --- a/zhenxun/builtin_plugins/auto_update/_data_source.py +++ b/zhenxun/builtin_plugins/auto_update/_data_source.py @@ -117,14 +117,14 @@ def _file_handle(latest_version: str | None): shutil.move(src_folder_path, dest_folder_path) else: logger.debug(f"源文件夹不存在: {src_folder_path}", "检查更新") + if tf: + tf.close() if download_file.exists(): logger.debug(f"删除下载文件: {download_file}", "检查更新") download_file.unlink() if extract_path.exists(): logger.debug(f"删除解压文件夹: {extract_path}", "检查更新") shutil.rmtree(extract_path) - if tf: - tf.close() if TMP_PATH.exists(): shutil.rmtree(TMP_PATH) if latest_version: diff --git a/zhenxun/builtin_plugins/plugin_store/data_source.py b/zhenxun/builtin_plugins/plugin_store/data_source.py index bc8ff412..0eaebb5f 100644 --- a/zhenxun/builtin_plugins/plugin_store/data_source.py +++ b/zhenxun/builtin_plugins/plugin_store/data_source.py @@ -86,8 +86,8 @@ async def download_file(url: str, _is: bool = False, api_url: str | None = None) for download_url, path in data_list: if download_url and "." in path: logger.debug(f"下载文件: {path}", "插件管理") - base_path = "zhenxun/plugins/" if _is else "zhenxun/" - file = Path(f"{base_path}{path}") + base_path = BASE_PATH / "plugins" if _is else BASE_PATH + file = base_path / path file.parent.mkdir(parents=True, exist_ok=True) r = await AsyncHttpx.get(download_url) if r.status_code != 200: