summaryrefslogtreecommitdiff
path: root/test/test_plugin_manage.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2023-05-11 14:56:58 +0800
committerKyomotoi <[email protected]>2023-05-11 14:56:58 +0800
commitcf2033627b63e4a444ee8971fd05f3e88e45fe86 (patch)
tree02c7b616dc94f63888413b5b9bb23fd95b29e8b2 /test/test_plugin_manage.py
parent546885062c1dae673fb5e31dec900a4536a2b3fa (diff)
downloadATRI-cf2033627b63e4a444ee8971fd05f3e88e45fe86.tar.gz
ATRI-cf2033627b63e4a444ee8971fd05f3e88e45fe86.tar.bz2
ATRI-cf2033627b63e4a444ee8971fd05f3e88e45fe86.zip
✅ 更新测试用例
Diffstat (limited to 'test/test_plugin_manage.py')
-rw-r--r--test/test_plugin_manage.py304
1 files changed, 50 insertions, 254 deletions
diff --git a/test/test_plugin_manage.py b/test/test_plugin_manage.py
index 6d850c2..5081207 100644
--- a/test/test_plugin_manage.py
+++ b/test/test_plugin_manage.py
@@ -1,292 +1,88 @@
+from typing import Type, Union
+
import pytest
from nonebug import App
-from .utils import make_fake_message, make_fake_event
-
+from nonebot.matcher import Matcher
+from nonebot.adapters.onebot.v11 import Bot, Message, MessageSegment
-async def test_block_user(app: App):
- from ATRI.plugins.manage import block_user
+from ATRI.permission import toggle_master
+from .utils import group_message_event
- Message = make_fake_message()
- async with app.test_matcher(block_user) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("封禁用户")
- event = make_fake_event(_message=msg)()
+async def __test_wrapper(
+ app: App,
+ test_matcher: Type[Matcher],
+ test_command: str,
+ test_arg: Union[str, MessageSegment],
+ test_reply: str,
+):
+ async with app.test_matcher(test_matcher) as ctx:
+ bot = ctx.create_bot(base=Bot)
+ event = group_message_event(message=Message(test_command))
ctx.receive_event(bot, event)
- ctx.should_call_send(event, "哪位?GKD!", True)
+ ctx.should_call_send(event, "要操作的目标是?", True)
- msg = Message("114514")
- event = make_fake_event(_message=msg)()
+ event = group_message_event(message=Message(test_arg))
ctx.receive_event(bot, event)
- ctx.should_call_send(event, "用户 114514 危!", True)
+ ctx.should_call_send(event, test_reply, True)
+ ctx.should_finished()
@pytest.mark.asyncio
-async def test_unblock_user(app: App):
- from ATRI.plugins.manage import unblock_user
-
- Message = make_fake_message()
+async def test_manage(app: App):
+ await toggle_master("1145141919")
- async with app.test_matcher(unblock_user) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("解封用户")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "哪位?GKD!", True)
+ from ATRI.plugins.manage import block_user
- msg = Message("114514")
- event = make_fake_event(_message=msg)()
+ await __test_wrapper(app, block_user, "封禁用户", "114514", "用户 114514 危!")
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "好欸! 114514 重获新生!", True)
+ from ATRI.plugins.manage import unblock_user
+ await __test_wrapper(app, unblock_user, "解封用户", "114514", "用户 114514 已解封")
-async def test_block_group(app: App):
from ATRI.plugins.manage import block_group
- Message = make_fake_message()
+ await __test_wrapper(app, block_group, "封禁群", "114514", "群 114514 危!")
- async with app.test_matcher(block_group) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("封禁群")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "哪位?GKD!", True)
-
- msg = Message("114514")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "群 114514 危!", True)
-
-
-async def test_unblock_group(app: App):
from ATRI.plugins.manage import unblock_group
- Message = make_fake_message()
+ await __test_wrapper(app, unblock_group, "解封群", "114514", "群 114514 已解封")
- async with app.test_matcher(unblock_group) as ctx:
- bot = ctx.create_bot()
+ from ATRI.plugins.manage import toggle_global_service
- msg = Message("解封群")
- event = make_fake_event(_message=msg)()
+ await __test_wrapper(app, toggle_global_service, "全局控制", "涩图", "服务 涩图 已全局禁用")
+ await __test_wrapper(app, toggle_global_service, "全局控制", "涩图", "服务 涩图 已全局启用")
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "哪个群?GKD!", True)
+ from ATRI.plugins.manage import toggle_group_service
- msg = Message("114514")
- event = make_fake_event(_message=msg)()
+ await __test_wrapper(app, toggle_group_service, "控制", "涩图", "服务 涩图 已针对本群禁用")
+ await __test_wrapper(app, toggle_group_service, "控制", "涩图", "服务 涩图 已针对本群启用")
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "好欸! 114514 重获新生!", True)
-
-
-async def test_global_block_service(app: App):
- from ATRI.plugins.manage import global_block_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(global_block_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("全局封禁")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "阿...是哪个服务呢", True)
-
- msg = Message("状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "服务 状态 已被禁用", True)
-
-
-async def test_global_unblock_service(app: App):
- from ATRI.plugins.manage import global_unblock_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(global_unblock_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("全局启用")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "阿...是哪个服务呢", True)
-
- msg = Message("状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "服务 状态 已启用", True)
-
-
-async def test_user_block_service(app: App):
- from ATRI.plugins.manage import user_block_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(user_block_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("对用户114514禁用状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "完成~已禁止用户 114514 使用 状态", True)
-
-
-async def test_user_unblock_service(app: App):
- from ATRI.plugins.manage import user_unblock_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(user_unblock_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("对用户114514启用状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "完成~已允许用户 114514 使用 状态", True)
-
-
-async def test_group_block_service(app: App):
- from ATRI.plugins.manage import group_block_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(group_block_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("禁用")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "阿...是哪个服务呢", True)
-
- msg = Message("状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "完成!~已禁止本群使用服务:状态", True)
-
-
-async def test_group_unblock_service(app: App):
- from ATRI.plugins.manage import group_unblock_service
-
- Message = make_fake_message()
-
- async with app.test_matcher(group_unblock_service) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("启用")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "阿...是哪个服务呢", True)
-
- msg = Message("状态")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "完成!~已允许本群使用服务:状态", True)
-
-
-async def test_get_friend_add_list(app: App):
- from ATRI.plugins.manage import get_friend_add_list
+ from ATRI.plugins.manage import track_error
- Message = make_fake_message()
+ await __test_wrapper(
+ app, track_error, "追踪", "abcdefg", "操作 abcdefg 失败...原因:\n未找到对应ID的信息"
+ )
- async with app.test_matcher(get_friend_add_list) as ctx:
- bot = ctx.create_bot()
+ from ATRI.plugins.manage import toggle_user_service
- msg = Message("获取好友申请")
- event = make_fake_event(_message=msg)()
+ async with app.test_matcher(toggle_user_service) as ctx:
+ bot = ctx.create_bot(base=Bot)
+ event = group_message_event(message=Message("对用户114514禁用涩图"))
ctx.receive_event(bot, event)
- ctx.should_call_send(
- event,
- """
- 申请人ID | 申请信息 | 申请码
- Tip: 使用 同意/拒绝好友 [申请码] 以决定
- """,
- True,
- )
-
-
-# @pytest.mark.asyncio
-# async def test_approve_friend_add(app: App):
-# from ATRI.plugins.manage import approve_friend_add
-
-# Message = make_fake_message()
-
-# async with app.test_matcher(approve_friend_add) as ctx:
-# bot = ctx.create_bot()
-
-# msg = Message("同意好友")
-# event = make_fake_event(_message=msg)()
-
-# ctx.receive_event(bot, event)
-# ctx.should_call_send(event, "申请码GKD!", True)
-
-# msg = Message()
+ ctx.should_call_send(event, "已禁止用户 114514 使用 涩图", True)
+ ctx.should_finished()
-
-async def test_get_group_invite_list(app: App):
- from ATRI.plugins.manage import get_group_invite_list
-
- Message = make_fake_message()
-
- async with app.test_matcher(get_group_invite_list) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("获取邀请列表")
- event = make_fake_event(_message=msg)()
+ async with app.test_matcher(toggle_user_service) as ctx:
+ bot = ctx.create_bot(base=Bot)
+ event = group_message_event(message=Message("对用户114514启用涩图"))
ctx.receive_event(bot, event)
- ctx.should_call_send(
- event,
- """
- 申请人ID | 申请信息 | 申请码
- Tip: 使用 同意/拒绝邀请 [申请码] 以决定
- """,
- True,
- )
-
+ ctx.should_call_send(event, "已允许用户 114514 使用 涩图", True)
+ ctx.should_finished()
-async def test_track_error(app: App):
- from ATRI.plugins.manage import track_error
-
- Message = make_fake_message()
-
- async with app.test_matcher(track_error) as ctx:
- bot = ctx.create_bot()
-
- msg = Message("/track")
- event = make_fake_event(_message=msg)()
-
- ctx.receive_event(bot, event)
- ctx.should_call_send(event, "请检查ID是否正确...", True)
+ await toggle_master("1145141919")