Compare commits

...
3 Commits
7 changed files with 19 additions and 30 deletions
+15 -20
View File
@@ -64,9 +64,11 @@ def init_mocker(mocker: MockerFixture, tmp_path: Path):
mock_platform = mocker.patch("zhenxun.builtin_plugins.check.data_source.platform") mock_platform = mocker.patch("zhenxun.builtin_plugins.check.data_source.platform")
mock_platform.uname.return_value = platform_uname mock_platform.uname.return_value = platform_uname
mock_template_to_pic = mocker.patch("zhenxun.builtin_plugins.check.template_to_pic") mock_render_service = mocker.patch(
mock_template_to_pic_return = mocker.AsyncMock() "zhenxun.builtin_plugins.check.renderer_service.render"
mock_template_to_pic.return_value = mock_template_to_pic_return )
mock_render_service_return = mocker.AsyncMock()
mock_render_service.return_value = mock_render_service_return
mock_build_message = mocker.patch( mock_build_message = mocker.patch(
"zhenxun.builtin_plugins.check.MessageUtils.build_message" "zhenxun.builtin_plugins.check.MessageUtils.build_message"
@@ -74,19 +76,14 @@ def init_mocker(mocker: MockerFixture, tmp_path: Path):
mock_build_message_return = mocker.AsyncMock() mock_build_message_return = mocker.AsyncMock()
mock_build_message.return_value = mock_build_message_return mock_build_message.return_value = mock_build_message_return
mock_template_path_new = tmp_path / "resources" / "template"
mocker.patch(
"zhenxun.builtin_plugins.check.TEMPLATE_PATH", new=mock_template_path_new
)
return ( return (
mock_psutil, mock_psutil,
mock_cpuinfo, mock_cpuinfo,
mock_platform, mock_platform,
mock_template_to_pic, mock_render_service,
mock_template_to_pic_return, mock_render_service_return,
mock_build_message, mock_build_message,
mock_build_message_return, mock_build_message_return,
mock_template_path_new,
) )
@@ -105,11 +102,10 @@ async def test_check(
mock_psutil, mock_psutil,
mock_cpuinfo, mock_cpuinfo,
mock_platform, mock_platform,
mock_template_to_pic, mock_render_service,
mock_template_to_pic_return, mock_render_service_return,
mock_build_message, mock_build_message,
mock_build_message_return, mock_build_message_return,
mock_template_path_new,
) = init_mocker(mocker, tmp_path) ) = init_mocker(mocker, tmp_path)
async with app.test_matcher(_self_check_matcher) as ctx: async with app.test_matcher(_self_check_matcher) as ctx:
bot = create_bot(ctx) bot = create_bot(ctx)
@@ -126,8 +122,8 @@ async def test_check(
ctx.receive_event(bot=bot, event=event) ctx.receive_event(bot=bot, event=event)
ctx.should_ignore_rule(_self_check_matcher) ctx.should_ignore_rule(_self_check_matcher)
mock_template_to_pic.assert_awaited_once() mock_render_service.assert_awaited_once()
mock_build_message.assert_called_once_with(mock_template_to_pic_return) mock_build_message.assert_called_once_with(mock_render_service_return)
mock_build_message_return.send.assert_awaited_once() mock_build_message_return.send.assert_awaited_once()
@@ -161,11 +157,10 @@ async def test_check_arm(
mock_psutil, mock_psutil,
mock_cpuinfo, mock_cpuinfo,
mock_platform, mock_platform,
mock_template_to_pic, mock_render_service,
mock_template_to_pic_return, mock_render_service_return,
mock_build_message, mock_build_message,
mock_build_message_return, mock_build_message_return,
mock_template_path_new,
) = init_mocker(mocker, tmp_path) ) = init_mocker(mocker, tmp_path)
mock_platform.uname.return_value = platform_uname_arm mock_platform.uname.return_value = platform_uname_arm
@@ -199,6 +194,6 @@ async def test_check_arm(
mocker.call().decode().split().__getitem__().__float__(), mocker.call().decode().split().__getitem__().__float__(),
] # type: ignore ] # type: ignore
) )
mock_template_to_pic.assert_awaited_once() mock_render_service.assert_awaited_once()
mock_build_message.assert_called_once_with(mock_template_to_pic_return) mock_build_message.assert_called_once_with(mock_render_service_return)
mock_build_message_return.send.assert_awaited_once() mock_build_message_return.send.assert_awaited_once()
+3 -3
View File
@@ -23,9 +23,9 @@ from .config import (
lik2relation, lik2relation,
) )
assert len(level2attitude) == len(lik2level) == len(lik2relation), ( assert (
"好感度态度、等级、关系长度不匹配!" len(level2attitude) == len(lik2level) == len(lik2relation)
) ), "好感度态度、等级、关系长度不匹配!"
AVA_URL = "http://q1.qlogo.cn/g?b=qq&nk={}&s=160" AVA_URL = "http://q1.qlogo.cn/g?b=qq&nk={}&s=160"
@@ -62,7 +62,6 @@ async def _(session: EventSession, arparma: Arparma):
await MessageUtils.build_message("重载完成!").send(reply_to=True) await MessageUtils.build_message("重载完成!").send(reply_to=True)
@scheduler.scheduled_job( @scheduler.scheduled_job(
"interval", "interval",
seconds=Config.get_config("reload_setting", "AUTO_RELOAD_TIME", 180), seconds=Config.get_config("reload_setting", "AUTO_RELOAD_TIME", 180),
+1 -1
View File
@@ -379,7 +379,7 @@ class RendererService:
data_str = json.dumps(data or {}, sort_keys=True) data_str = json.dumps(data or {}, sort_keys=True)
cache_key_str = f"{template_name}:{data_str}" cache_key_str = f"{template_name}:{data_str}"
cache_filename = ( cache_filename = (
f"{hashlib.md5(cache_key_str.encode()).hexdigest()}.png" f"{hashlib.sha256(cache_key_str.encode()).hexdigest()}.png"
) )
cache_path = UI_CACHE_PATH / cache_filename cache_path = UI_CACHE_PATH / cache_filename
-1
View File
@@ -1,4 +1,3 @@
from . import widgets from . import widgets
from .core.layout import LayoutBuilder from .core.layout import LayoutBuilder
from .core.markdown import MarkdownBuilder from .core.markdown import MarkdownBuilder
@@ -34,4 +34,3 @@ class PluginMenuBuilder(BaseBuilder[PluginMenuData]):
for category in categories: for category in categories:
self.add_category(category) self.add_category(category)
return self return self
-3
View File
@@ -283,6 +283,3 @@ class ImageTemplate:
width = max(width, w) width = max(width, w)
height += h height += h
return width, height return width, height