mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-22 21:06:32 +00:00
主要变更: 1. 重构健康检查模块,迁移目录结构并合并重复代码 2. 清理路由标签冗余的"系统管理/平台管理"前缀,简化标签名称 3. 重构工作流相关目录与API,统一命名为flow和nodes 4. 重命名缓存删除接口为clear,同步前后端路由与权限 5. 简化接口参数描述,统一批量状态修改的请求体格式 6. 重构动态路由加载逻辑,优化初始化流程 7. 清理废弃的self_service模块,整合租户自助服务到租户API 8. 重构发票管理接口,统一路由前缀与权限控制 9. 优化代码生成模板,补全参数注解与描述 10: 修复日志删除接口的参数解析逻辑
111 lines
4.4 KiB
Python
111 lines
4.4 KiB
Python
"""
|
|
模块接口测试 —— module_monitor(系统监控)
|
|
认证数据测试:admin 登录后验证监控接口数据。
|
|
"""
|
|
|
|
from conftest import assert_route # noqa: F401
|
|
from fastapi.testclient import TestClient
|
|
|
|
|
|
class TestCache:
|
|
"""缓存监控接口。"""
|
|
|
|
def test_cache_info(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/cache/info", auth=auth_headers)
|
|
|
|
def test_cache_names(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/cache/get/names", auth=auth_headers)
|
|
|
|
def test_cache_keys(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/cache/get/keys/test", auth=auth_headers)
|
|
|
|
def test_cache_value(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/cache/get/value/test/key", auth=auth_headers)
|
|
|
|
def test_cache_delete_name(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "DELETE", "/monitor/cache/delete/name/test", auth=auth_headers)
|
|
|
|
def test_cache_delete_key(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "DELETE", "/monitor/cache/delete/key/test", auth=auth_headers)
|
|
|
|
def test_cache_clear_all(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "DELETE", "/monitor/cache/clear", auth=auth_headers)
|
|
|
|
|
|
class TestServer:
|
|
"""服务器监控接口。"""
|
|
|
|
def test_server_info(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/server/info", auth=auth_headers)
|
|
|
|
|
|
class TestOnline:
|
|
"""在线用户监控接口。"""
|
|
|
|
def test_online_list(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/online/list", auth=auth_headers)
|
|
|
|
def test_online_delete(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
import json
|
|
|
|
assert_route(
|
|
test_client,
|
|
"DELETE",
|
|
"/monitor/online/delete",
|
|
auth=auth_headers,
|
|
content=json.dumps("test-session"),
|
|
headers={"Content-Type": "application/json"},
|
|
)
|
|
|
|
def test_online_clear(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "DELETE", "/monitor/online/clear", auth=auth_headers)
|
|
|
|
|
|
class TestResource:
|
|
"""资源管理接口。"""
|
|
|
|
def test_resource_list(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "GET", "/monitor/resource/list", auth=auth_headers)
|
|
|
|
def test_resource_delete(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
import json
|
|
|
|
assert_route(
|
|
test_client,
|
|
"DELETE",
|
|
"/monitor/resource/delete",
|
|
auth=auth_headers,
|
|
content=json.dumps(["/nonexistent"]),
|
|
headers={"Content-Type": "application/json"},
|
|
)
|
|
|
|
def test_resource_create_dir(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(
|
|
test_client, "POST", "/monitor/resource/mkdir", auth=auth_headers,
|
|
json={"name": "test_dir", "parent_path": "/"},
|
|
)
|
|
|
|
def test_resource_rename(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(
|
|
test_client, "POST", "/monitor/resource/rename", auth=auth_headers,
|
|
json={"old_path": "/old.txt", "new_path": "/new.txt"},
|
|
)
|
|
|
|
def test_resource_copy(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(
|
|
test_client, "POST", "/monitor/resource/copy", auth=auth_headers,
|
|
json={"source_path": "/src.txt", "target_path": "/dst.txt"},
|
|
)
|
|
|
|
def test_resource_move(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(
|
|
test_client, "POST", "/monitor/resource/move", auth=auth_headers,
|
|
json={"source_path": "/src.txt", "target_path": "/dst.txt"},
|
|
)
|
|
|
|
def test_resource_upload(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "POST", "/monitor/resource/upload", auth=auth_headers)
|
|
|
|
def test_resource_export(self, test_client: TestClient, auth_headers: dict) -> None:
|
|
assert_route(test_client, "POST", "/monitor/resource/export", auth=auth_headers)
|