Update tool panel
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user