summaryrefslogtreecommitdiff
path: root/test/test_plugin_manage.py
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
committerKyomotoi <[email protected]>2022-02-03 14:36:24 +0800
commit3e32ca3964ff8f40e0b491e87f153040f2348fd0 (patch)
treed04d19ba5a25f6f1f6a9c4f8c398d49eb252df3c /test/test_plugin_manage.py
parentf5a020d45f7294214bbcd488955b9c391d651a6d (diff)
downloadATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.gz
ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.tar.bz2
ATRI-3e32ca3964ff8f40e0b491e87f153040f2348fd0.zip
🔖 更新版本:
更新记录请参考文档: atri.kyomotoi.moe/changelog/overview/
Diffstat (limited to 'test/test_plugin_manage.py')
-rw-r--r--test/test_plugin_manage.py293
1 files changed, 293 insertions, 0 deletions
diff --git a/test/test_plugin_manage.py b/test/test_plugin_manage.py
new file mode 100644
index 0000000..8f3042a
--- /dev/null
+++ b/test/test_plugin_manage.py
@@ -0,0 +1,293 @@
+import pytest
+from nonebug import App
+
+from ATRI.config import RUNTIME_CONFIG
+from .utils import make_fake_message, make_fake_event
+
+
+async def test_block_user(app: App):
+ from ATRI.plugins.manage import block_user
+
+ 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)()
+
+ 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_user(app: App):
+ from ATRI.plugins.manage import unblock_user
+
+ Message = make_fake_message()
+
+ 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)
+
+ msg = Message("114514")
+ event = make_fake_event(_message=msg)()
+
+ ctx.receive_event(bot, event)
+ ctx.should_call_send(event, "好欸! 114514 重获新生!", True)
+
+
+async def test_block_group(app: App):
+ from ATRI.plugins.manage import block_group
+
+ Message = make_fake_message()
+
+ 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()
+
+ async with app.test_matcher(unblock_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_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
+
+ Message = make_fake_message()
+
+ async with app.test_matcher(get_friend_add_list) as ctx:
+ bot = ctx.create_bot()
+
+ msg = Message("获取好友申请")
+ event = make_fake_event(_message=msg)()
+
+ 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()
+
+
+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)()
+
+ ctx.receive_event(bot, event)
+ ctx.should_call_send(
+ event,
+ """
+ 申请人ID | 申请信息 | 申请码
+ Tip: 使用 同意/拒绝邀请 [申请码] 以决定
+ """,
+ True,
+ )
+
+
+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)