diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..63f568d --- /dev/null +++ b/.dockerignore @@ -0,0 +1,18 @@ +*.ini +*.yaml +*.yml +*.md +*.json +*.toml +*.xml +tests +node_modules +admin-frontend +data* +htmlcov +docker +dist +docs +.* + +!pyproject.toml diff --git a/admin-frontend/package.json b/admin-frontend/package.json index ffd0b4a..a8c904b 100644 --- a/admin-frontend/package.json +++ b/admin-frontend/package.json @@ -29,7 +29,7 @@ }, "scripts": { "start": "react-scripts start", - "build": "react-scripts build && cp -r -f build/* ../src/plugins/nonebot_bison/admin_page/dist", + "build": "react-scripts build && cp -r -f build/* ../nonebot_bison/admin_page/dist", "test": "react-scripts test", "eject": "react-scripts eject", "lint": "eslint --fix src/**/*.ts src/**/*.tsx" diff --git a/bot.py b/bot.py index 8af708d..1e92dc8 100644 --- a/bot.py +++ b/bot.py @@ -1,3 +1,5 @@ +from pathlib import Path + import nonebot from nonebot.adapters.onebot.v11 import Adapter as OneBotV11Adapter @@ -9,7 +11,8 @@ driver.register_adapter(OneBotV11Adapter) nonebot.load_builtin_plugins("echo") # nonebot.load_plugin("nonebot_plugin_help") -nonebot.load_plugins("src/plugins") +nonebot.load_plugin(Path(__file__).parent / "nonebot_bison") +nonebot.load_plugins("extra_plugins") if __name__ == "__main__": nonebot.run() diff --git a/docker/Dockerfile_with_frontend b/docker/Dockerfile_with_frontend index f1884c8..0d3484b 100644 --- a/docker/Dockerfile_with_frontend +++ b/docker/Dockerfile_with_frontend @@ -41,8 +41,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ COPY --from=builder /runtime /usr/local RUN playwright install chromium -ADD src /app/src -ADD bot.py /app/ +ADD . /app/ RUN echo 'DATASTORE_DATA_DIR=/data' > .env ENV HOST=0.0.0.0 CMD ["python", "bot.py"] diff --git a/docker/Dockerfile_with_frontend_sentry b/docker/Dockerfile_with_frontend_sentry index 637f49a..0b81e85 100644 --- a/docker/Dockerfile_with_frontend_sentry +++ b/docker/Dockerfile_with_frontend_sentry @@ -41,8 +41,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ COPY --from=builder /runtime /usr/local RUN playwright install chromium -ADD src /app/src -ADD bot.py /app/ +ADD . /app/ RUN echo 'DATASTORE_DATA_DIR=/data' > .env && sed '/nonebot.load_builtin_plugins("echo")/a nonebot.load_plugin("nonebot_plugin_sentry")' -i bot.py ENV HOST=0.0.0.0 CMD ["python", "bot.py"] diff --git a/src/plugins/auto_agree.py b/extra_plugins/auto_agree.py similarity index 100% rename from src/plugins/auto_agree.py rename to extra_plugins/auto_agree.py diff --git a/src/plugins/nonebot_bison/__init__.py b/nonebot_bison/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/__init__.py rename to nonebot_bison/__init__.py diff --git a/src/plugins/nonebot_bison/admin_page/__init__.py b/nonebot_bison/admin_page/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/admin_page/__init__.py rename to nonebot_bison/admin_page/__init__.py diff --git a/src/plugins/nonebot_bison/admin_page/api.py b/nonebot_bison/admin_page/api.py similarity index 100% rename from src/plugins/nonebot_bison/admin_page/api.py rename to nonebot_bison/admin_page/api.py diff --git a/src/plugins/nonebot_bison/admin_page/dist/.gitkeep b/nonebot_bison/admin_page/dist/.gitkeep similarity index 100% rename from src/plugins/nonebot_bison/admin_page/dist/.gitkeep rename to nonebot_bison/admin_page/dist/.gitkeep diff --git a/src/plugins/nonebot_bison/admin_page/jwt.py b/nonebot_bison/admin_page/jwt.py similarity index 100% rename from src/plugins/nonebot_bison/admin_page/jwt.py rename to nonebot_bison/admin_page/jwt.py diff --git a/src/plugins/nonebot_bison/admin_page/token_manager.py b/nonebot_bison/admin_page/token_manager.py similarity index 100% rename from src/plugins/nonebot_bison/admin_page/token_manager.py rename to nonebot_bison/admin_page/token_manager.py diff --git a/src/plugins/nonebot_bison/admin_page/types.py b/nonebot_bison/admin_page/types.py similarity index 100% rename from src/plugins/nonebot_bison/admin_page/types.py rename to nonebot_bison/admin_page/types.py diff --git a/src/plugins/nonebot_bison/apis.py b/nonebot_bison/apis.py similarity index 100% rename from src/plugins/nonebot_bison/apis.py rename to nonebot_bison/apis.py diff --git a/src/plugins/nonebot_bison/bootstrap.py b/nonebot_bison/bootstrap.py similarity index 100% rename from src/plugins/nonebot_bison/bootstrap.py rename to nonebot_bison/bootstrap.py diff --git a/src/plugins/nonebot_bison/config/__init__.py b/nonebot_bison/config/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/config/__init__.py rename to nonebot_bison/config/__init__.py diff --git a/src/plugins/nonebot_bison/config/config_legacy.py b/nonebot_bison/config/config_legacy.py similarity index 100% rename from src/plugins/nonebot_bison/config/config_legacy.py rename to nonebot_bison/config/config_legacy.py diff --git a/src/plugins/nonebot_bison/config/db.py b/nonebot_bison/config/db.py similarity index 100% rename from src/plugins/nonebot_bison/config/db.py rename to nonebot_bison/config/db.py diff --git a/src/plugins/nonebot_bison/config/db_config.py b/nonebot_bison/config/db_config.py similarity index 100% rename from src/plugins/nonebot_bison/config/db_config.py rename to nonebot_bison/config/db_config.py diff --git a/src/plugins/nonebot_bison/config/db_model.py b/nonebot_bison/config/db_model.py similarity index 100% rename from src/plugins/nonebot_bison/config/db_model.py rename to nonebot_bison/config/db_model.py diff --git a/src/plugins/nonebot_bison/config/migrations/0571870f5222_init_db.py b/nonebot_bison/config/migrations/0571870f5222_init_db.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/0571870f5222_init_db.py rename to nonebot_bison/config/migrations/0571870f5222_init_db.py diff --git a/src/plugins/nonebot_bison/config/migrations/4a46ba54a3f3_alter_type.py b/nonebot_bison/config/migrations/4a46ba54a3f3_alter_type.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/4a46ba54a3f3_alter_type.py rename to nonebot_bison/config/migrations/4a46ba54a3f3_alter_type.py diff --git a/src/plugins/nonebot_bison/config/migrations/5da28f6facb3_rename_tables.py b/nonebot_bison/config/migrations/5da28f6facb3_rename_tables.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/5da28f6facb3_rename_tables.py rename to nonebot_bison/config/migrations/5da28f6facb3_rename_tables.py diff --git a/src/plugins/nonebot_bison/config/migrations/5f3370328e44_add_time_weight_table.py b/nonebot_bison/config/migrations/5f3370328e44_add_time_weight_table.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/5f3370328e44_add_time_weight_table.py rename to nonebot_bison/config/migrations/5f3370328e44_add_time_weight_table.py diff --git a/src/plugins/nonebot_bison/config/migrations/a333d6224193_add_last_scheduled_time.py b/nonebot_bison/config/migrations/a333d6224193_add_last_scheduled_time.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/a333d6224193_add_last_scheduled_time.py rename to nonebot_bison/config/migrations/a333d6224193_add_last_scheduled_time.py diff --git a/src/plugins/nonebot_bison/config/migrations/bd92923c218f_alter_json_not_null.py b/nonebot_bison/config/migrations/bd92923c218f_alter_json_not_null.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/bd92923c218f_alter_json_not_null.py rename to nonebot_bison/config/migrations/bd92923c218f_alter_json_not_null.py diff --git a/src/plugins/nonebot_bison/config/migrations/c97c445e2bdb_add_constraint.py b/nonebot_bison/config/migrations/c97c445e2bdb_add_constraint.py similarity index 100% rename from src/plugins/nonebot_bison/config/migrations/c97c445e2bdb_add_constraint.py rename to nonebot_bison/config/migrations/c97c445e2bdb_add_constraint.py diff --git a/src/plugins/nonebot_bison/config/utils.py b/nonebot_bison/config/utils.py similarity index 100% rename from src/plugins/nonebot_bison/config/utils.py rename to nonebot_bison/config/utils.py diff --git a/src/plugins/nonebot_bison/config_manager.py b/nonebot_bison/config_manager.py similarity index 100% rename from src/plugins/nonebot_bison/config_manager.py rename to nonebot_bison/config_manager.py diff --git a/src/plugins/nonebot_bison/platform/__init__.py b/nonebot_bison/platform/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/platform/__init__.py rename to nonebot_bison/platform/__init__.py diff --git a/src/plugins/nonebot_bison/platform/arknights.py b/nonebot_bison/platform/arknights.py similarity index 100% rename from src/plugins/nonebot_bison/platform/arknights.py rename to nonebot_bison/platform/arknights.py diff --git a/src/plugins/nonebot_bison/platform/bilibili.py b/nonebot_bison/platform/bilibili.py similarity index 100% rename from src/plugins/nonebot_bison/platform/bilibili.py rename to nonebot_bison/platform/bilibili.py diff --git a/src/plugins/nonebot_bison/platform/ff14.py b/nonebot_bison/platform/ff14.py similarity index 100% rename from src/plugins/nonebot_bison/platform/ff14.py rename to nonebot_bison/platform/ff14.py diff --git a/src/plugins/nonebot_bison/platform/mcbbsnews.py b/nonebot_bison/platform/mcbbsnews.py similarity index 100% rename from src/plugins/nonebot_bison/platform/mcbbsnews.py rename to nonebot_bison/platform/mcbbsnews.py diff --git a/src/plugins/nonebot_bison/platform/ncm.py b/nonebot_bison/platform/ncm.py similarity index 100% rename from src/plugins/nonebot_bison/platform/ncm.py rename to nonebot_bison/platform/ncm.py diff --git a/src/plugins/nonebot_bison/platform/platform.py b/nonebot_bison/platform/platform.py similarity index 100% rename from src/plugins/nonebot_bison/platform/platform.py rename to nonebot_bison/platform/platform.py diff --git a/src/plugins/nonebot_bison/platform/rss.py b/nonebot_bison/platform/rss.py similarity index 100% rename from src/plugins/nonebot_bison/platform/rss.py rename to nonebot_bison/platform/rss.py diff --git a/src/plugins/nonebot_bison/platform/weibo.py b/nonebot_bison/platform/weibo.py similarity index 100% rename from src/plugins/nonebot_bison/platform/weibo.py rename to nonebot_bison/platform/weibo.py diff --git a/src/plugins/nonebot_bison/plugin_config.py b/nonebot_bison/plugin_config.py similarity index 100% rename from src/plugins/nonebot_bison/plugin_config.py rename to nonebot_bison/plugin_config.py diff --git a/src/plugins/nonebot_bison/post/__init__.py b/nonebot_bison/post/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/post/__init__.py rename to nonebot_bison/post/__init__.py diff --git a/src/plugins/nonebot_bison/post/abstract_post.py b/nonebot_bison/post/abstract_post.py similarity index 100% rename from src/plugins/nonebot_bison/post/abstract_post.py rename to nonebot_bison/post/abstract_post.py diff --git a/src/plugins/nonebot_bison/post/custom_post.py b/nonebot_bison/post/custom_post.py similarity index 100% rename from src/plugins/nonebot_bison/post/custom_post.py rename to nonebot_bison/post/custom_post.py diff --git a/src/plugins/nonebot_bison/post/post.py b/nonebot_bison/post/post.py similarity index 100% rename from src/plugins/nonebot_bison/post/post.py rename to nonebot_bison/post/post.py diff --git a/src/plugins/nonebot_bison/post/templates/custom_post.css b/nonebot_bison/post/templates/custom_post.css similarity index 100% rename from src/plugins/nonebot_bison/post/templates/custom_post.css rename to nonebot_bison/post/templates/custom_post.css diff --git a/src/plugins/nonebot_bison/scheduler/__init__.py b/nonebot_bison/scheduler/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/scheduler/__init__.py rename to nonebot_bison/scheduler/__init__.py diff --git a/src/plugins/nonebot_bison/scheduler/manager.py b/nonebot_bison/scheduler/manager.py similarity index 100% rename from src/plugins/nonebot_bison/scheduler/manager.py rename to nonebot_bison/scheduler/manager.py diff --git a/src/plugins/nonebot_bison/scheduler/scheduler.py b/nonebot_bison/scheduler/scheduler.py similarity index 100% rename from src/plugins/nonebot_bison/scheduler/scheduler.py rename to nonebot_bison/scheduler/scheduler.py diff --git a/src/plugins/nonebot_bison/send.py b/nonebot_bison/send.py similarity index 100% rename from src/plugins/nonebot_bison/send.py rename to nonebot_bison/send.py diff --git a/src/plugins/nonebot_bison/types.py b/nonebot_bison/types.py similarity index 100% rename from src/plugins/nonebot_bison/types.py rename to nonebot_bison/types.py diff --git a/src/plugins/nonebot_bison/utils/__init__.py b/nonebot_bison/utils/__init__.py similarity index 100% rename from src/plugins/nonebot_bison/utils/__init__.py rename to nonebot_bison/utils/__init__.py diff --git a/src/plugins/nonebot_bison/utils/context.py b/nonebot_bison/utils/context.py similarity index 100% rename from src/plugins/nonebot_bison/utils/context.py rename to nonebot_bison/utils/context.py diff --git a/src/plugins/nonebot_bison/utils/get_bot.py b/nonebot_bison/utils/get_bot.py similarity index 100% rename from src/plugins/nonebot_bison/utils/get_bot.py rename to nonebot_bison/utils/get_bot.py diff --git a/src/plugins/nonebot_bison/utils/http.py b/nonebot_bison/utils/http.py similarity index 100% rename from src/plugins/nonebot_bison/utils/http.py rename to nonebot_bison/utils/http.py diff --git a/src/plugins/nonebot_bison/utils/scheduler_config.py b/nonebot_bison/utils/scheduler_config.py similarity index 100% rename from src/plugins/nonebot_bison/utils/scheduler_config.py rename to nonebot_bison/utils/scheduler_config.py diff --git a/pyproject.toml b/pyproject.toml index 54efd3f..445dc46 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,8 +7,7 @@ license = "MIT" homepage = "https://github.com/felinae98/nonebot-bison" keywords = ["nonebot", "nonebot2", "qqbot"] readme = "README.md" -packages = [{ include = "nonebot_bison", from = "./src/plugins/" }] -include = ["src/plugins/nonebot_bison/admin_page/dist/**/*"] +include = ["nonebot_bison/admin_page/dist/**/*"] classifiers = [ "Development Status :: 4 - Beta", "Operating System :: POSIX :: Linux", @@ -76,15 +75,8 @@ line_length = 88 skip_gitignore = true [tool.nonebot] -plugins = ["src.plugins.nonebot_bison"] +plugins = ["nonebot_bison"] [tool.pyright] pythonVersion = "3.10" pythonPlatform = "All" -executionEnvironments = [ - { root = "./tests", extraPaths = [ - "./", - "./src/plugins/", - ] }, - { root = "./" }, -] diff --git a/tests/config/test_config_operation.py b/tests/config/test_config_operation.py index 61c065a..6185e96 100644 --- a/tests/config/test_config_operation.py +++ b/tests/config/test_config_operation.py @@ -3,13 +3,14 @@ from nonebug.app import App async def test_add_subscribe(app: App, init_scheduler): - from nonebot_bison.config.db_config import config - from nonebot_bison.config.db_model import Subscribe, Target, User - from nonebot_bison.types import Target as TTarget from nonebot_plugin_datastore.db import get_engine from sqlalchemy.ext.asyncio.session import AsyncSession from sqlalchemy.sql.expression import select + from nonebot_bison.config.db_config import config + from nonebot_bison.config.db_model import Subscribe, Target, User + from nonebot_bison.types import Target as TTarget + await config.add_subscribe( user=123, user_type="group", @@ -98,14 +99,15 @@ async def test_add_dup_sub(init_scheduler): async def test_del_subsribe(init_scheduler): - from nonebot_bison.config.db_config import config - from nonebot_bison.config.db_model import Subscribe, Target - from nonebot_bison.types import Target as TTarget from nonebot_plugin_datastore.db import get_engine from sqlalchemy.ext.asyncio.session import AsyncSession from sqlalchemy.sql.expression import select from sqlalchemy.sql.functions import func + from nonebot_bison.config.db_config import config + from nonebot_bison.config.db_model import Subscribe, Target + from nonebot_bison.types import Target as TTarget + await config.add_subscribe( user=123, user_type="group", diff --git a/tests/config/test_data_migration.py b/tests/config/test_data_migration.py index bf3c1a8..d8c64bd 100644 --- a/tests/config/test_data_migration.py +++ b/tests/config/test_data_migration.py @@ -1,7 +1,8 @@ async def test_migration(use_legacy_config): + from nonebot_plugin_datastore.db import init_db + from nonebot_bison.config.config_legacy import config as config_legacy from nonebot_bison.config.db_config import config - from nonebot_plugin_datastore.db import init_db config_legacy.add_subscribe( user=123, @@ -54,9 +55,10 @@ 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_bison.config.config_legacy import config as config_legacy from nonebot_bison.config.db_config import config - from nonebot_plugin_datastore.db import init_db config_legacy.add_subscribe( user=123, diff --git a/tests/config/test_scheduler_conf.py b/tests/config/test_scheduler_conf.py index 6b43b93..c3d7f14 100644 --- a/tests/config/test_scheduler_conf.py +++ b/tests/config/test_scheduler_conf.py @@ -5,10 +5,11 @@ from pytest_mock import MockerFixture async def test_create_config(init_scheduler): + from nonebot_plugin_datastore.db import get_engine + 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_plugin_datastore.db import get_engine await config.add_subscribe( user=123, @@ -56,11 +57,12 @@ async def test_create_config(init_scheduler): async def test_get_current_weight(init_scheduler, mocker: MockerFixture): from datetime import time + from nonebot_plugin_datastore.db import get_engine + from nonebot_bison.config import db_config 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_plugin_datastore.db import get_engine await config.add_subscribe( user=123, @@ -121,13 +123,14 @@ 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 sqlalchemy.ext.asyncio.session import AsyncSession + from sqlalchemy.sql.expression import select + from nonebot_bison.config import db_config 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_plugin_datastore.db import get_engine - from sqlalchemy.ext.asyncio.session import AsyncSession - from sqlalchemy.sql.expression import select await config.add_subscribe( user=123, @@ -171,15 +174,16 @@ 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 sqlalchemy.ext.asyncio.session import AsyncSession + from sqlalchemy.sql.expression import select + from nonebot_bison.config import db_config 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 - from nonebot_plugin_datastore.db import get_engine - from sqlalchemy.ext.asyncio.session import AsyncSession - from sqlalchemy.sql.expression import select await config.add_subscribe( user=123, diff --git a/tests/conftest.py b/tests/conftest.py index a6d249f..0b177e5 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -24,6 +24,10 @@ async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixt sys.path.append(str(Path(__file__).parent.parent / "src" / "plugins")) nonebot.require("nonebot_bison") + from nonebot_plugin_datastore.config import plugin_config as datastore_config + from nonebot_plugin_datastore.db import create_session, init_db + from nonebot_plugin_htmlrender.browser import shutdown_browser + from nonebot_bison import plugin_config from nonebot_bison.config.db_model import ( ScheduleTimeWeight, @@ -31,9 +35,6 @@ async def app(tmp_path: Path, request: pytest.FixtureRequest, mocker: MockerFixt Target, User, ) - from nonebot_plugin_datastore.config import plugin_config as datastore_config - from nonebot_plugin_datastore.db import create_session, init_db - from nonebot_plugin_htmlrender.browser import shutdown_browser plugin_config.bison_config_path = str(tmp_path / "legacy_config") plugin_config.bison_filter_log = False @@ -82,6 +83,7 @@ async def init_scheduler(app: App): @pytest.fixture async def use_legacy_config(app: App): import aiofiles + from nonebot_bison.config.config_legacy import config, get_config_path async with aiofiles.open(get_config_path()[0], "w") as f: diff --git a/tests/test_config_manager_abort.py b/tests/test_config_manager_abort.py index 61124a7..188b1d9 100644 --- a/tests/test_config_manager_abort.py +++ b/tests/test_config_manager_abort.py @@ -13,6 +13,7 @@ from .utils import BotReply, fake_admin_user, fake_group_message_event async def test_abort_add_on_platform(app: App, init_scheduler): from nonebot.adapters.onebot.v11.event import Sender from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -60,6 +61,7 @@ async def test_abort_add_on_platform(app: App, init_scheduler): async def test_abort_add_on_id(app: App, init_scheduler): from nonebot.adapters.onebot.v11.event import Sender from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager from nonebot_bison.platform.weibo import Weibo @@ -117,6 +119,7 @@ async def test_abort_add_on_id(app: App, init_scheduler): async def test_abort_add_on_cats(app: App, init_scheduler): from nonebot.adapters.onebot.v11.event import Sender from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager from nonebot_bison.platform.weibo import Weibo @@ -194,6 +197,7 @@ async def test_abort_add_on_cats(app: App, init_scheduler): async def test_abort_add_on_tag(app: App, init_scheduler): from nonebot.adapters.onebot.v11.event import Sender from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager from nonebot_bison.platform.weibo import Weibo @@ -275,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_bison.config import config from nonebot_bison.config_manager import del_sub_matcher from nonebot_bison.platform import platform_manager diff --git a/tests/test_config_manager_add.py b/tests/test_config_manager_add.py index 70c45d6..f9db7e1 100644 --- a/tests/test_config_manager_add.py +++ b/tests/test_config_manager_add.py @@ -12,6 +12,7 @@ from .utils import BotReply, fake_admin_user, fake_group_message_event async def test_configurable_at_me_true_failed(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher from nonebot_bison.plugin_config import plugin_config @@ -37,6 +38,7 @@ async def test_configurable_at_me_true_failed(app: App): async def test_configurable_at_me_false(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager from nonebot_bison.plugin_config import plugin_config @@ -62,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_bison.config import config from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -185,6 +188,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_bison.config import config from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -244,6 +248,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_bison.config import config from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -293,6 +298,7 @@ async def test_add_no_target(app: App, init_scheduler): async def test_platform_name_err(app: App): from nonebot.adapters.onebot.v11.event import Sender from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -328,6 +334,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_bison.config import config from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager @@ -409,6 +416,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_bison.config import config from nonebot_bison.config_manager import add_sub_matcher, common_platform from nonebot_bison.platform import platform_manager diff --git a/tests/test_config_manager_admin.py b/tests/test_config_manager_admin.py index c809b37..4d6ff93 100644 --- a/tests/test_config_manager_admin.py +++ b/tests/test_config_manager_admin.py @@ -8,6 +8,7 @@ from .utils import fake_group_message_event, fake_private_message_event, fake_su async def test_query_with_superuser_private(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import group_manage_matcher async with app.test_matcher(group_manage_matcher) as ctx: @@ -70,6 +71,7 @@ async def test_query_with_superuser_private(app: App): async def test_query_with_abort_on_idx(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import group_manage_matcher async with app.test_matcher(group_manage_matcher) as ctx: @@ -105,6 +107,7 @@ async def test_query_with_abort_on_idx(app: App): async def test_query_with_abort_on_command(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import group_manage_matcher async with app.test_matcher(group_manage_matcher) as ctx: @@ -149,6 +152,7 @@ async def test_query_with_abort_on_command(app: App): async def test_query_with_superuser_group_tome(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config_manager import group_manage_matcher async with app.test_matcher(group_manage_matcher) as ctx: diff --git a/tests/test_config_manager_query_del.py b/tests/test_config_manager_query_del.py index c1a2f70..c829ba4 100644 --- a/tests/test_config_manager_query_del.py +++ b/tests/test_config_manager_query_del.py @@ -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_bison.config import config from nonebot_bison.config_manager import query_sub_matcher from nonebot_bison.platform import platform_manager @@ -39,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_bison.config import config from nonebot_bison.config_manager import del_sub_matcher from nonebot_bison.platform import platform_manager @@ -89,6 +91,7 @@ async def test_del_sub(app: App, init_scheduler): async def test_del_empty_sub(app: App, init_scheduler): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.config import config from nonebot_bison.config_manager import del_sub_matcher from nonebot_bison.platform import platform_manager diff --git a/tests/test_get_bot.py b/tests/test_get_bot.py index 3414e13..ec24c7b 100644 --- a/tests/test_get_bot.py +++ b/tests/test_get_bot.py @@ -10,6 +10,7 @@ async def test_get_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_bison.utils.get_bot import get_bots async with app.test_api() as ctx: @@ -31,6 +32,7 @@ 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_bison.types import User from nonebot_bison.utils.get_bot import get_bot, get_groups, refresh_bots @@ -66,6 +68,7 @@ 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_bison.types import User from nonebot_bison.utils.get_bot import get_bot, get_groups, refresh_bots diff --git a/tests/test_send.py b/tests/test_send.py index 29c30cb..c45fb9e 100644 --- a/tests/test_send.py +++ b/tests/test_send.py @@ -14,6 +14,7 @@ if typing.TYPE_CHECKING: async def test_send_no_queue(app: App, mocker: MockerFixture): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message + from nonebot_bison.plugin_config import plugin_config from nonebot_bison.send import send_msgs @@ -40,6 +41,7 @@ async def test_send_queue(app: App, mocker: MockerFixture): import nonebot from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message, MessageSegment + from nonebot_bison import send from nonebot_bison.plugin_config import plugin_config from nonebot_bison.send import MESSGE_SEND_INTERVAL, do_send_msgs, send_msgs @@ -84,6 +86,7 @@ def _merge_messge(nodes): async def test_send_merge_no_queue(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message, MessageSegment + from nonebot_bison.plugin_config import plugin_config from nonebot_bison.send import send_msgs @@ -187,6 +190,7 @@ async def test_send_merge_no_queue(app: App): async def test_send_merge2_no_queue(app: App): from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.message import Message, MessageSegment + from nonebot_bison.plugin_config import plugin_config from nonebot_bison.send import send_msgs