mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2026-05-09 18:27:56 +08:00
🚧 remove User type
This commit is contained in:
@@ -4,6 +4,7 @@ from nonebug.app import App
|
||||
|
||||
async def test_add_subscribe(app: App, init_scheduler):
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from sqlalchemy.sql.expression import select
|
||||
|
||||
@@ -12,8 +13,7 @@ async def test_add_subscribe(app: App, init_scheduler):
|
||||
from nonebot_bison.types import Target as TTarget
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -21,15 +21,14 @@ async def test_add_subscribe(app: App, init_scheduler):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=234,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=234),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
cats=[],
|
||||
tags=[],
|
||||
)
|
||||
confs = await config.list_subscribe(123, "group")
|
||||
confs = await config.list_subscribe(TargetQQGroup(group_id=123))
|
||||
assert len(confs) == 1
|
||||
conf: Subscribe = confs[0]
|
||||
async with AsyncSession(get_engine()) as sess:
|
||||
@@ -39,22 +38,23 @@ async def test_add_subscribe(app: App, init_scheduler):
|
||||
related_target_obj = await sess.scalar(
|
||||
select(Target).where(Target.id == conf.target_id)
|
||||
)
|
||||
assert related_user_obj.uid == 123
|
||||
assert related_user_obj
|
||||
assert related_target_obj
|
||||
assert related_user_obj.user_target["group_id"] == 123
|
||||
assert related_target_obj.target_name == "weibo_name"
|
||||
assert related_target_obj.target == "weibo_id"
|
||||
assert conf.target.target == "weibo_id"
|
||||
assert conf.categories == []
|
||||
|
||||
await config.update_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
platform_name="weibo",
|
||||
target_name="weibo_name2",
|
||||
cats=[1],
|
||||
tags=["tag"],
|
||||
)
|
||||
confs = await config.list_subscribe(123, "group")
|
||||
confs = await config.list_subscribe(TargetQQGroup(group_id=123))
|
||||
assert len(confs) == 1
|
||||
conf: Subscribe = confs[0]
|
||||
async with AsyncSession(get_engine()) as sess:
|
||||
@@ -64,7 +64,9 @@ async def test_add_subscribe(app: App, init_scheduler):
|
||||
related_target_obj = await sess.scalar(
|
||||
select(Target).where(Target.id == conf.target_id)
|
||||
)
|
||||
assert related_user_obj.uid == 123
|
||||
assert related_user_obj
|
||||
assert related_target_obj
|
||||
assert related_user_obj.user_target["group_id"] == 123
|
||||
assert related_target_obj.target_name == "weibo_name2"
|
||||
assert related_target_obj.target == "weibo_id"
|
||||
assert conf.target.target == "weibo_id"
|
||||
@@ -73,12 +75,13 @@ async def test_add_subscribe(app: App, init_scheduler):
|
||||
|
||||
|
||||
async def test_add_dup_sub(init_scheduler):
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config.db_config import SubscribeDupException, config
|
||||
from nonebot_bison.types import Target as TTarget
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -88,8 +91,7 @@ async def test_add_dup_sub(init_scheduler):
|
||||
|
||||
with pytest.raises(SubscribeDupException):
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -100,6 +102,7 @@ async def test_add_dup_sub(init_scheduler):
|
||||
|
||||
async def test_del_subsribe(init_scheduler):
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from sqlalchemy.sql.expression import select
|
||||
from sqlalchemy.sql.functions import func
|
||||
@@ -109,8 +112,7 @@ async def test_del_subsribe(init_scheduler):
|
||||
from nonebot_bison.types import Target as TTarget
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -118,8 +120,7 @@ async def test_del_subsribe(init_scheduler):
|
||||
tags=[],
|
||||
)
|
||||
await config.del_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
platform_name="weibo",
|
||||
)
|
||||
@@ -128,8 +129,7 @@ async def test_del_subsribe(init_scheduler):
|
||||
assert (await sess.scalar(select(func.count()).select_from(Target))) == 1
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -138,8 +138,7 @@ async def test_del_subsribe(init_scheduler):
|
||||
)
|
||||
|
||||
await config.add_subscribe(
|
||||
user=124,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=124),
|
||||
target=TTarget("weibo_id"),
|
||||
target_name="weibo_name_new",
|
||||
platform_name="weibo",
|
||||
@@ -148,8 +147,7 @@ async def test_del_subsribe(init_scheduler):
|
||||
)
|
||||
|
||||
await config.del_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=TTarget("weibo_id"),
|
||||
platform_name="weibo",
|
||||
)
|
||||
@@ -157,5 +155,6 @@ async def test_del_subsribe(init_scheduler):
|
||||
async with AsyncSession(get_engine()) as sess:
|
||||
assert (await sess.scalar(select(func.count()).select_from(Subscribe))) == 1
|
||||
assert (await sess.scalar(select(func.count()).select_from(Target))) == 1
|
||||
target: Target = await sess.scalar(select(Target))
|
||||
target = await sess.scalar(select(Target))
|
||||
assert target
|
||||
assert target.target_name == "weibo_name_new"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
async def test_migration(use_legacy_config):
|
||||
from nonebot_plugin_datastore.db import init_db
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config.config_legacy import Config
|
||||
from nonebot_bison.config.db_config import config
|
||||
@@ -34,7 +35,7 @@ async def test_migration(use_legacy_config):
|
||||
)
|
||||
# await data_migrate()
|
||||
await init_db()
|
||||
user123_config = await config.list_subscribe(123, "group")
|
||||
user123_config = await config.list_subscribe(TargetQQGroup(group_id=123))
|
||||
assert len(user123_config) == 2
|
||||
for c in user123_config:
|
||||
if c.target.target == "weibo_id":
|
||||
@@ -47,7 +48,7 @@ async def test_migration(use_legacy_config):
|
||||
assert c.target.target_name == "weibo_name2"
|
||||
assert c.target.platform_name == "weibo"
|
||||
assert c.tags == ["tag"]
|
||||
user234_config = await config.list_subscribe(234, "group")
|
||||
user234_config = await config.list_subscribe(TargetQQGroup(group_id=234))
|
||||
assert len(user234_config) == 1
|
||||
assert user234_config[0].categories == [1]
|
||||
assert user234_config[0].target.target == "weibo_id"
|
||||
@@ -57,6 +58,7 @@ async def test_migration(use_legacy_config):
|
||||
|
||||
async def test_migrate_dup(use_legacy_config):
|
||||
from nonebot_plugin_datastore.db import init_db
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config.config_legacy import Config
|
||||
from nonebot_bison.config.db_config import config
|
||||
@@ -82,5 +84,5 @@ async def test_migrate_dup(use_legacy_config):
|
||||
)
|
||||
# await data_migrate()
|
||||
await init_db()
|
||||
user123_config = await config.list_subscribe(123, "group")
|
||||
user123_config = await config.list_subscribe(TargetQQGroup(group_id=123))
|
||||
assert len(user123_config) == 1
|
||||
|
||||
@@ -6,14 +6,14 @@ from pytest_mock import MockerFixture
|
||||
|
||||
async def test_create_config(init_scheduler):
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config.db_config import TimeWeightConfig, WeightConfig, config
|
||||
from nonebot_bison.config.db_model import Subscribe, Target, User
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -21,8 +21,7 @@ async def test_create_config(init_scheduler):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -58,6 +57,7 @@ async def test_get_current_weight(init_scheduler, mocker: MockerFixture):
|
||||
from datetime import time
|
||||
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import db_config
|
||||
from nonebot_bison.config.db_config import TimeWeightConfig, WeightConfig, config
|
||||
@@ -65,8 +65,7 @@ async def test_get_current_weight(init_scheduler, mocker: MockerFixture):
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -74,8 +73,7 @@ async def test_get_current_weight(init_scheduler, mocker: MockerFixture):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -83,8 +81,7 @@ async def test_get_current_weight(init_scheduler, mocker: MockerFixture):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name2",
|
||||
platform_name="bilibili",
|
||||
@@ -124,6 +121,7 @@ async def test_get_current_weight(init_scheduler, mocker: MockerFixture):
|
||||
|
||||
async def test_get_platform_target(app: App, init_scheduler):
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from sqlalchemy.sql.expression import select
|
||||
|
||||
@@ -133,8 +131,7 @@ async def test_get_platform_target(app: App, init_scheduler):
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -142,8 +139,7 @@ async def test_get_platform_target(app: App, init_scheduler):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -151,8 +147,7 @@ async def test_get_platform_target(app: App, init_scheduler):
|
||||
tags=[],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=245,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=245),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -161,10 +156,14 @@ async def test_get_platform_target(app: App, init_scheduler):
|
||||
)
|
||||
res = await config.get_platform_target("weibo")
|
||||
assert len(res) == 2
|
||||
await config.del_subscribe(123, "group", T_Target("weibo_id1"), "weibo")
|
||||
await config.del_subscribe(
|
||||
TargetQQGroup(group_id=123), T_Target("weibo_id1"), "weibo"
|
||||
)
|
||||
res = await config.get_platform_target("weibo")
|
||||
assert len(res) == 2
|
||||
await config.del_subscribe(123, "group", T_Target("weibo_id"), "weibo")
|
||||
await config.del_subscribe(
|
||||
TargetQQGroup(group_id=123), T_Target("weibo_id"), "weibo"
|
||||
)
|
||||
res = await config.get_platform_target("weibo")
|
||||
assert len(res) == 1
|
||||
|
||||
@@ -175,6 +174,7 @@ async def test_get_platform_target(app: App, init_scheduler):
|
||||
|
||||
async def test_get_platform_target_subscribers(app: App, init_scheduler):
|
||||
from nonebot_plugin_datastore.db import get_engine
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
from sqlalchemy.ext.asyncio.session import AsyncSession
|
||||
from sqlalchemy.sql.expression import select
|
||||
|
||||
@@ -182,12 +182,10 @@ async def test_get_platform_target_subscribers(app: App, init_scheduler):
|
||||
from nonebot_bison.config.db_config import TimeWeightConfig, WeightConfig, config
|
||||
from nonebot_bison.config.db_model import Subscribe, Target, User
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
from nonebot_bison.types import User as T_User
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id"),
|
||||
target_name="weibo_name",
|
||||
platform_name="weibo",
|
||||
@@ -195,8 +193,7 @@ async def test_get_platform_target_subscribers(app: App, init_scheduler):
|
||||
tags=["tag1"],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=123,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=123),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -204,8 +201,7 @@ async def test_get_platform_target_subscribers(app: App, init_scheduler):
|
||||
tags=["tag2"],
|
||||
)
|
||||
await config.add_subscribe(
|
||||
user=245,
|
||||
user_type="group",
|
||||
TargetQQGroup(group_id=245),
|
||||
target=T_Target("weibo_id1"),
|
||||
target_name="weibo_name1",
|
||||
platform_name="weibo",
|
||||
@@ -215,9 +211,9 @@ async def test_get_platform_target_subscribers(app: App, init_scheduler):
|
||||
|
||||
res = await config.get_platform_target_subscribers("weibo", T_Target("weibo_id"))
|
||||
assert len(res) == 1
|
||||
assert res[0] == UserSubInfo(T_User(123, "group"), [1], ["tag1"])
|
||||
assert res[0] == UserSubInfo(TargetQQGroup(group_id=123), [1], ["tag1"])
|
||||
|
||||
res = await config.get_platform_target_subscribers("weibo", T_Target("weibo_id1"))
|
||||
assert len(res) == 2
|
||||
assert UserSubInfo(T_User(123, "group"), [2], ["tag2"]) in res
|
||||
assert UserSubInfo(T_User(245, "group"), [3], ["tag3"]) in res
|
||||
assert UserSubInfo(TargetQQGroup(group_id=123), [2], ["tag2"]) in res
|
||||
assert UserSubInfo(TargetQQGroup(group_id=245), [3], ["tag3"]) in res
|
||||
|
||||
+4
-2
@@ -67,9 +67,11 @@ async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixt
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_user_subinfo(app: App):
|
||||
from nonebot_bison.types import User, UserSubInfo
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return UserSubInfo(user=user, categories=[], tags=[])
|
||||
|
||||
|
||||
|
||||
@@ -16,9 +16,11 @@ def bili_live(app: App):
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_only_open_user_subinfo(app: App):
|
||||
from nonebot_bison.types import User, UserSubInfo
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return UserSubInfo(user=user, categories=[1], tags=[])
|
||||
|
||||
|
||||
@@ -68,9 +70,11 @@ async def test_fetch_bililive_only_live_open(bili_live, dummy_only_open_user_sub
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_only_title_user_subinfo(app: App):
|
||||
from nonebot_bison.types import User, UserSubInfo
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return UserSubInfo(user=user, categories=[2], tags=[])
|
||||
|
||||
|
||||
@@ -128,9 +132,11 @@ async def test_fetch_bililive_only_title_change(
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_only_close_user_subinfo(app: App):
|
||||
from nonebot_bison.types import User, UserSubInfo
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return UserSubInfo(user=user, categories=[3], tags=[])
|
||||
|
||||
|
||||
@@ -187,9 +193,11 @@ async def test_fetch_bililive_only_close(bili_live, dummy_only_close_user_subinf
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_bililive_user_subinfo(app: App):
|
||||
from nonebot_bison.types import User, UserSubInfo
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
from nonebot_bison.types import UserSubInfo
|
||||
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return UserSubInfo(user=user, categories=[1, 2, 3], tags=[])
|
||||
|
||||
|
||||
|
||||
@@ -24,9 +24,9 @@ raw_post_list_2 = raw_post_list_1 + [
|
||||
|
||||
@pytest.fixture
|
||||
def dummy_user(app: App):
|
||||
from nonebot_bison.types import User
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
user = User(123, "group")
|
||||
user = TargetQQGroup(group_id=123)
|
||||
return user
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ if typing.TYPE_CHECKING:
|
||||
async def get_schedule_times(
|
||||
scheduler_config: Type["SchedulerConfig"], time: int
|
||||
) -> dict[str, int]:
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.scheduler import scheduler_dict
|
||||
|
||||
scheduler = scheduler_dict[scheduler_config]
|
||||
@@ -25,6 +27,8 @@ async def get_schedule_times(
|
||||
|
||||
|
||||
async def test_scheduler_without_time(init_scheduler):
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config.db_config import WeightConfig
|
||||
from nonebot_bison.platform.bilibili import BilibiliSchedConf
|
||||
@@ -32,13 +36,13 @@ async def test_scheduler_without_time(init_scheduler):
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t1"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t1"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target1", "bilibili-live", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target1", "bilibili-live", [], []
|
||||
)
|
||||
|
||||
await config.update_time_weight_config(
|
||||
@@ -62,6 +66,8 @@ async def test_scheduler_without_time(init_scheduler):
|
||||
|
||||
|
||||
async def test_scheduler_with_time(app: App, init_scheduler, mocker: MockerFixture):
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config, db_config
|
||||
from nonebot_bison.config.db_config import TimeWeightConfig, WeightConfig
|
||||
from nonebot_bison.platform.bilibili import BilibiliSchedConf
|
||||
@@ -69,13 +75,13 @@ async def test_scheduler_with_time(app: App, init_scheduler, mocker: MockerFixtu
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t1"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t1"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target1", "bilibili-live", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target1", "bilibili-live", [], []
|
||||
)
|
||||
|
||||
await config.update_time_weight_config(
|
||||
@@ -113,38 +119,42 @@ async def test_scheduler_with_time(app: App, init_scheduler, mocker: MockerFixtu
|
||||
|
||||
|
||||
async def test_scheduler_add_new(init_scheduler):
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.platform.bilibili import BilibiliSchedConf
|
||||
from nonebot_bison.scheduler.manager import init_scheduler
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t1"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t1"), "target1", "bilibili", [], []
|
||||
)
|
||||
|
||||
await init_scheduler()
|
||||
|
||||
await config.add_subscribe(
|
||||
2345, "group", T_Target("t1"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=2345), T_Target("t1"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target2", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target2", "bilibili", [], []
|
||||
)
|
||||
stat_res = await get_schedule_times(BilibiliSchedConf, 1)
|
||||
assert stat_res["bilibili-t2"] == 1
|
||||
|
||||
|
||||
async def test_schedule_delete(init_scheduler):
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.platform.bilibili import BilibiliSchedConf
|
||||
from nonebot_bison.scheduler.manager import init_scheduler
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t1"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t1"), "target1", "bilibili", [], []
|
||||
)
|
||||
await config.add_subscribe(
|
||||
123, "group", T_Target("t2"), "target1", "bilibili", [], []
|
||||
TargetQQGroup(group_id=123), T_Target("t2"), "target1", "bilibili", [], []
|
||||
)
|
||||
|
||||
await init_scheduler()
|
||||
@@ -153,6 +163,6 @@ async def test_schedule_delete(init_scheduler):
|
||||
assert stat_res["bilibili-t2"] == 1
|
||||
assert stat_res["bilibili-t1"] == 1
|
||||
|
||||
await config.del_subscribe(123, "group", T_Target("t1"), "bilibili")
|
||||
await config.del_subscribe(TargetQQGroup(group_id=123), T_Target("t1"), "bilibili")
|
||||
stat_res = await get_schedule_times(BilibiliSchedConf, 2)
|
||||
assert stat_res["bilibili-t2"] == 2
|
||||
|
||||
@@ -279,6 +279,7 @@ async def test_abort_add_on_tag(app: App, init_scheduler):
|
||||
async def test_abort_del_sub(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.bot import Bot
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import del_sub_matcher
|
||||
@@ -286,8 +287,7 @@ async def test_abort_del_sub(app: App, init_scheduler):
|
||||
from nonebot_bison.types import Target as T_Target
|
||||
|
||||
await config.add_subscribe(
|
||||
10000,
|
||||
"group",
|
||||
TargetQQGroup(group_id=10000),
|
||||
T_Target("6279793937"),
|
||||
"明日方舟Arknights",
|
||||
"weibo",
|
||||
@@ -316,5 +316,5 @@ async def test_abort_del_sub(app: App, init_scheduler):
|
||||
ctx.receive_event(bot, event_abort)
|
||||
ctx.should_call_send(event_abort, "删除中止", True)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert subs
|
||||
|
||||
@@ -64,6 +64,7 @@ async def test_configurable_at_me_false(app: App):
|
||||
async def test_add_with_target(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.event import Sender
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import add_sub_matcher, common_platform
|
||||
@@ -171,7 +172,7 @@ async def test_add_with_target(app: App, init_scheduler):
|
||||
event_6_ok, BotReply.add_reply_subscribe_success("明日方舟Arknights"), True
|
||||
)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 1
|
||||
sub = subs[0]
|
||||
assert sub.target.target == "6279793937"
|
||||
@@ -188,6 +189,7 @@ async def test_add_with_target(app: App, init_scheduler):
|
||||
async def test_add_with_target_no_cat(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.event import Sender
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import add_sub_matcher, common_platform
|
||||
@@ -233,7 +235,7 @@ async def test_add_with_target_no_cat(app: App, init_scheduler):
|
||||
event_4_ok, BotReply.add_reply_subscribe_success("塞壬唱片-MSR"), True
|
||||
)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 1
|
||||
sub = subs[0]
|
||||
assert sub.target.target == "32540734"
|
||||
@@ -248,6 +250,7 @@ async def test_add_with_target_no_cat(app: App, init_scheduler):
|
||||
async def test_add_no_target(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.event import Sender
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import add_sub_matcher, common_platform
|
||||
@@ -284,7 +287,7 @@ async def test_add_no_target(app: App, init_scheduler):
|
||||
event_4, BotReply.add_reply_subscribe_success("明日方舟游戏信息"), True
|
||||
)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 1
|
||||
sub = subs[0]
|
||||
assert sub.target.target == "default"
|
||||
@@ -334,6 +337,7 @@ async def test_platform_name_err(app: App):
|
||||
async def test_add_with_get_id(app: App):
|
||||
from nonebot.adapters.onebot.v11.event import Sender
|
||||
from nonebot.adapters.onebot.v11.message import Message, MessageSegment
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import add_sub_matcher, common_platform
|
||||
@@ -407,7 +411,7 @@ async def test_add_with_get_id(app: App):
|
||||
True,
|
||||
)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 0
|
||||
|
||||
|
||||
@@ -416,6 +420,7 @@ async def test_add_with_get_id(app: App):
|
||||
async def test_add_with_bilibili_target_parser(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.event import Sender
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import add_sub_matcher, common_platform
|
||||
@@ -524,7 +529,7 @@ async def test_add_with_bilibili_target_parser(app: App, init_scheduler):
|
||||
event_6, BotReply.add_reply_subscribe_success("明日方舟"), True
|
||||
)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 1
|
||||
sub = subs[0]
|
||||
assert sub.target.target == "161775300"
|
||||
|
||||
@@ -10,6 +10,7 @@ from .utils import fake_admin_user, fake_group_message_event
|
||||
@pytest.mark.asyncio
|
||||
async def test_query_sub(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import query_sub_matcher
|
||||
@@ -17,8 +18,7 @@ async def test_query_sub(app: App, init_scheduler):
|
||||
from nonebot_bison.types import Target
|
||||
|
||||
await config.add_subscribe(
|
||||
10000,
|
||||
"group",
|
||||
TargetQQGroup(group_id=10000),
|
||||
Target("6279793937"),
|
||||
"明日方舟Arknights",
|
||||
"weibo",
|
||||
@@ -40,6 +40,7 @@ async def test_query_sub(app: App, init_scheduler):
|
||||
async def test_del_sub(app: App, init_scheduler):
|
||||
from nonebot.adapters.onebot.v11.bot import Bot
|
||||
from nonebot.adapters.onebot.v11.message import Message
|
||||
from nonebot_plugin_saa import TargetQQGroup
|
||||
|
||||
from nonebot_bison.config import config
|
||||
from nonebot_bison.config_manager import del_sub_matcher
|
||||
@@ -47,8 +48,7 @@ async def test_del_sub(app: App, init_scheduler):
|
||||
from nonebot_bison.types import Target
|
||||
|
||||
await config.add_subscribe(
|
||||
10000,
|
||||
"group",
|
||||
TargetQQGroup(group_id=10000),
|
||||
Target("6279793937"),
|
||||
"明日方舟Arknights",
|
||||
"weibo",
|
||||
@@ -83,7 +83,7 @@ async def test_del_sub(app: App, init_scheduler):
|
||||
ctx.receive_event(bot, event_1_ok)
|
||||
ctx.should_call_send(event_1_ok, "删除成功", True)
|
||||
ctx.should_finished()
|
||||
subs = await config.list_subscribe(10000, "group")
|
||||
subs = await config.list_subscribe(TargetQQGroup(group_id=10000))
|
||||
assert len(subs) == 0
|
||||
|
||||
|
||||
|
||||
+14
-14
@@ -30,8 +30,8 @@ async def test_refresh_bots(app: App) -> None:
|
||||
from nonebot import get_driver
|
||||
from nonebot.adapters.onebot.v11 import Bot as BotV11
|
||||
from nonebot.adapters.onebot.v12 import Bot as BotV12
|
||||
from nonebot_plugin_saa import TargetQQGroup, TargetQQPrivate
|
||||
|
||||
from nonebot_bison.types import User
|
||||
from nonebot_bison.utils.get_bot import get_bot, get_groups, refresh_bots
|
||||
|
||||
async with app.test_api() as ctx:
|
||||
@@ -44,13 +44,13 @@ async def test_refresh_bots(app: App) -> None:
|
||||
ctx.should_call_api("get_group_list", {}, [{"group_id": 1}])
|
||||
ctx.should_call_api("get_friend_list", {}, [{"user_id": 2}])
|
||||
|
||||
assert get_bot(User(1, "group")) is None
|
||||
assert get_bot(User(2, "private")) is None
|
||||
assert get_bot(TargetQQGroup(group_id=1)) is None
|
||||
assert get_bot(TargetQQPrivate(user_id=2)) is None
|
||||
|
||||
await refresh_bots()
|
||||
|
||||
assert get_bot(User(1, "group")) == botv11
|
||||
assert get_bot(User(2, "private")) == botv11
|
||||
assert get_bot(TargetQQGroup(group_id=1)) == botv11
|
||||
assert get_bot(TargetQQPrivate(user_id=2)) == botv11
|
||||
|
||||
# 测试获取群列表
|
||||
ctx.should_call_api("get_group_list", {}, [{"group_id": 3}])
|
||||
@@ -66,8 +66,8 @@ async def test_get_bot_two_bots(app: App) -> None:
|
||||
from nonebot import get_driver
|
||||
from nonebot.adapters.onebot.v11 import Bot as BotV11
|
||||
from nonebot.adapters.onebot.v12 import Bot as BotV12
|
||||
from nonebot_plugin_saa import TargetQQGroup, TargetQQPrivate
|
||||
|
||||
from nonebot_bison.types import User
|
||||
from nonebot_bison.utils.get_bot import get_bot, get_groups, refresh_bots
|
||||
|
||||
async with app.test_api() as ctx:
|
||||
@@ -85,14 +85,14 @@ async def test_get_bot_two_bots(app: App) -> None:
|
||||
|
||||
await refresh_bots()
|
||||
|
||||
assert get_bot(User(0, "group")) is None
|
||||
assert get_bot(User(1, "group")) == bot1
|
||||
assert get_bot(User(2, "group")) in (bot1, bot2)
|
||||
assert get_bot(User(3, "group")) == bot2
|
||||
assert get_bot(User(0, "private")) is None
|
||||
assert get_bot(User(1, "private")) == bot1
|
||||
assert get_bot(User(2, "private")) in (bot1, bot2)
|
||||
assert get_bot(User(3, "private")) == bot2
|
||||
assert get_bot(TargetQQGroup(group_id=0)) is None
|
||||
assert get_bot(TargetQQGroup(group_id=1)) == bot1
|
||||
assert get_bot(TargetQQGroup(group_id=2)) in (bot1, bot2)
|
||||
assert get_bot(TargetQQGroup(group_id=3)) == bot2
|
||||
assert get_bot(TargetQQPrivate(user_id=0)) is None
|
||||
assert get_bot(TargetQQPrivate(user_id=1)) == bot1
|
||||
assert get_bot(TargetQQPrivate(user_id=2)) in (bot1, bot2)
|
||||
assert get_bot(TargetQQPrivate(user_id=3)) == bot2
|
||||
|
||||
ctx.should_call_api("get_group_list", {}, [{"group_id": 1}, {"group_id": 2}])
|
||||
ctx.should_call_api("get_group_list", {}, [{"group_id": 2}, {"group_id": 3}])
|
||||
|
||||
Reference in New Issue
Block a user