Update tool panel

This commit is contained in:
Xin Wang
2026-02-09 00:14:11 +08:00
parent 0fc56e2685
commit 77b186dceb
7 changed files with 537 additions and 120 deletions

View File

@@ -265,3 +265,55 @@ class TestAutotestAPI:
assert data["name"] == "翻译"
assert "text" in data["parameters"]["properties"]
assert "target_lang" in data["parameters"]["properties"]
class TestToolResourceCRUD:
"""Test cases for persistent tool resource CRUD endpoints."""
def test_list_tool_resources_contains_system_tools(self, client):
response = client.get("/api/tools/resources")
assert response.status_code == 200
payload = response.json()
assert payload["total"] >= 1
ids = [item["id"] for item in payload["list"]]
assert "search" in ids
def test_create_update_delete_tool_resource(self, client):
create_resp = client.post("/api/tools/resources", json={
"name": "自定义网页抓取",
"description": "抓取页面并提取正文",
"category": "query",
"icon": "Globe",
"enabled": True,
})
assert create_resp.status_code == 200
created = create_resp.json()
tool_id = created["id"]
assert created["name"] == "自定义网页抓取"
assert created["is_system"] is False
update_resp = client.put(f"/api/tools/resources/{tool_id}", json={
"name": "自定义网页检索",
"category": "system",
})
assert update_resp.status_code == 200
updated = update_resp.json()
assert updated["name"] == "自定义网页检索"
assert updated["category"] == "system"
get_resp = client.get(f"/api/tools/resources/{tool_id}")
assert get_resp.status_code == 200
assert get_resp.json()["id"] == tool_id
delete_resp = client.delete(f"/api/tools/resources/{tool_id}")
assert delete_resp.status_code == 200
missing_resp = client.get(f"/api/tools/resources/{tool_id}")
assert missing_resp.status_code == 404
def test_system_tool_is_read_only(self, client):
update_resp = client.put("/api/tools/resources/search", json={"name": "new"})
assert update_resp.status_code == 400
delete_resp = client.delete("/api/tools/resources/search")
assert delete_resp.status_code == 400