Feature: 添加插件元信息定义 (#1046)

This commit is contained in:
Ju4tCode
2022-06-20 15:49:53 +08:00
committed by GitHub
parent a82ce00a4b
commit 06ee47edcd
5 changed files with 61 additions and 4 deletions

16
tests/plugins/metadata.py Normal file
View File

@ -0,0 +1,16 @@
from pydantic import BaseModel
from nonebot.plugin import PluginMetadata
class Config(BaseModel):
custom: str = ""
__plugin_meta__ = PluginMetadata(
name="测试插件",
description="测试插件元信息",
usage="无法使用",
config=Config,
extra={"author": "NoneBot"},
)

View File

@ -1,4 +1,5 @@
import sys
from dataclasses import asdict
from typing import TYPE_CHECKING, Set
import pytest
@ -98,3 +99,20 @@ async def test_require_not_found(app: App):
with pytest.raises(RuntimeError):
nonebot.require("some_plugin_not_exist")
@pytest.mark.asyncio
async def test_plugin_metadata(app: App, load_plugin: Set["Plugin"]):
import nonebot
from plugins.metadata import Config
plugin = nonebot.get_plugin("metadata")
assert plugin
assert plugin.metadata
assert asdict(plugin.metadata) == {
"name": "测试插件",
"description": "测试插件元信息",
"usage": "无法使用",
"config": Config,
"extra": {"author": "NoneBot"},
}