mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-09 01:16:50 +08:00
fix(api): flatten split endpoint routes
This commit is contained in:
@@ -86,7 +86,7 @@ from app.schemas.types import SystemConfigKey
|
|||||||
from app.startup.composition.context import HostRuntime
|
from app.startup.composition.context import HostRuntime
|
||||||
|
|
||||||
router = ResponseAPIRouter()
|
router = ResponseAPIRouter()
|
||||||
router.include_router(plugin_folders_router)
|
router.routes.extend(plugin_folders_router.routes)
|
||||||
_plugin_release_refresh_tasks: set[asyncio.Task] = set()
|
_plugin_release_refresh_tasks: set[asyncio.Task] = set()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ from app.schemas.workflow import MediaInfo as _SchemaMediaInfo
|
|||||||
from app.schemas.workflow import Subscribe as _SchemaSubscribe
|
from app.schemas.workflow import Subscribe as _SchemaSubscribe
|
||||||
|
|
||||||
router = ResponseAPIRouter()
|
router = ResponseAPIRouter()
|
||||||
router.include_router(subscribe_maintenance_router)
|
router.routes.extend(subscribe_maintenance_router.routes)
|
||||||
|
|
||||||
__all__ = [
|
__all__ = [
|
||||||
"check_subscribes",
|
"check_subscribes",
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ from app.schemas.types import SystemConfigKey
|
|||||||
from app.startup.composition.context import HostRuntime
|
from app.startup.composition.context import HostRuntime
|
||||||
|
|
||||||
router = ResponseAPIRouter()
|
router = ResponseAPIRouter()
|
||||||
router.include_router(system_identifiers_router)
|
router.routes.extend(system_identifiers_router.routes)
|
||||||
|
|
||||||
_PUBLIC_SYSTEM_CONFIG_KEYS = {
|
_PUBLIC_SYSTEM_CONFIG_KEYS = {
|
||||||
item.value: item
|
item.value: item
|
||||||
|
|||||||
@@ -162,6 +162,15 @@ def test_compatibility_api_router_keeps_public_contract():
|
|||||||
assert expected_paths <= paths
|
assert expected_paths <= paths
|
||||||
|
|
||||||
|
|
||||||
|
def test_split_endpoint_routes_are_flattened_into_parent_routers():
|
||||||
|
"""拆分端点合并后父路由只应暴露可执行路由,避免测试和工具遇到包装节点。"""
|
||||||
|
from app.api.endpoints import plugin, subscribe, system
|
||||||
|
|
||||||
|
for endpoint in (plugin, subscribe, system):
|
||||||
|
assert endpoint.router.routes
|
||||||
|
assert all(isinstance(route, APIRoute) for route in endpoint.router.routes)
|
||||||
|
|
||||||
|
|
||||||
def test_init_routers_accepts_composition_root_api_prefix():
|
def test_init_routers_accepts_composition_root_api_prefix():
|
||||||
"""路由初始化应使用组合根传入的 API 前缀。"""
|
"""路由初始化应使用组合根传入的 API 前缀。"""
|
||||||
from app.startup.initializers.routers import init_routers
|
from app.startup.initializers.routers import init_routers
|
||||||
|
|||||||
Reference in New Issue
Block a user