Files
FastapiAdmin/backend/tests/test_api_module_monitor.py
T
zhangtao 8949f6dc46 refactor(test, config, router): 整理代码结构与配置,优化导入顺序
1. 调整多个测试文件中TestClient的导入顺序,统一放到conftest导入之后
2. 删除后端配置中无用的WebSocket限流配置,统一使用全局200次/10秒的限流策略
3. 精简平台、系统模块的路由初始化注释文档
4. 优化conftest.py中的数据库初始化导入顺序
5. 调整初始化日志输出格式,更清晰易懂
6. 前端开发环境配置切回本地后端地址,注释远程服务地址
7. 重构路由类的变量命名,提升可读性
8. 简化动态路由热重载逻辑,移除冗余缓存变量
9. 重构注册路由的代码,统一限流配置,调整导入顺序和挂载逻辑
10. 删除冗余的v1接口层统一导出文件
2026-06-21 21:47:32 +08:00

111 lines
4.5 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/delete/all", 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/create-dir", 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)