Organize tool scheme
This commit is contained in:
@@ -14,16 +14,21 @@ class TestToolsAPI:
|
||||
assert "tools" in data
|
||||
# Check for expected tools
|
||||
tools = data["tools"]
|
||||
assert "search" in tools
|
||||
assert "calculator" in tools
|
||||
assert "weather" in tools
|
||||
assert "code_interpreter" in tools
|
||||
assert "current_time" in tools
|
||||
assert "turn_on_camera" in tools
|
||||
assert "turn_off_camera" in tools
|
||||
assert "increase_volume" in tools
|
||||
assert "decrease_volume" in tools
|
||||
assert "calculator" in tools
|
||||
|
||||
def test_get_tool_detail(self, client):
|
||||
"""Test getting a specific tool's details"""
|
||||
response = client.get("/api/tools/list/search")
|
||||
response = client.get("/api/tools/list/calculator")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["name"] == "网络搜索"
|
||||
assert data["name"] == "计算器"
|
||||
assert "parameters" in data
|
||||
|
||||
def test_get_tool_detail_not_found(self, client):
|
||||
@@ -256,15 +261,14 @@ class TestAutotestAPI:
|
||||
assert "required" in data["parameters"]
|
||||
assert "expression" in data["parameters"]["required"]
|
||||
|
||||
def test_translate_tool_parameters(self, client):
|
||||
"""Test translate tool has correct parameters"""
|
||||
response = client.get("/api/tools/list/translate")
|
||||
def test_code_interpreter_tool_parameters(self, client):
|
||||
"""Test code_interpreter tool has correct parameters"""
|
||||
response = client.get("/api/tools/list/code_interpreter")
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
|
||||
assert data["name"] == "翻译"
|
||||
assert "text" in data["parameters"]["properties"]
|
||||
assert "target_lang" in data["parameters"]["properties"]
|
||||
assert data["name"] == "代码执行"
|
||||
assert "code" in data["parameters"]["properties"]
|
||||
|
||||
|
||||
class TestToolResourceCRUD:
|
||||
@@ -276,7 +280,7 @@ class TestToolResourceCRUD:
|
||||
payload = response.json()
|
||||
assert payload["total"] >= 1
|
||||
ids = [item["id"] for item in payload["list"]]
|
||||
assert "search" in ids
|
||||
assert "calculator" in ids
|
||||
|
||||
def test_create_update_delete_tool_resource(self, client):
|
||||
create_resp = client.post("/api/tools/resources", json={
|
||||
@@ -314,14 +318,14 @@ class TestToolResourceCRUD:
|
||||
def test_system_tool_can_be_updated_and_deleted(self, client):
|
||||
list_resp = client.get("/api/tools/resources")
|
||||
assert list_resp.status_code == 200
|
||||
assert any(item["id"] == "search" for item in list_resp.json()["list"])
|
||||
assert any(item["id"] == "turn_on_camera" for item in list_resp.json()["list"])
|
||||
|
||||
update_resp = client.put("/api/tools/resources/search", json={"name": "更新后的搜索工具", "category": "query"})
|
||||
update_resp = client.put("/api/tools/resources/turn_on_camera", json={"name": "更新后的打开摄像头", "category": "system"})
|
||||
assert update_resp.status_code == 200
|
||||
assert update_resp.json()["name"] == "更新后的搜索工具"
|
||||
assert update_resp.json()["name"] == "更新后的打开摄像头"
|
||||
|
||||
delete_resp = client.delete("/api/tools/resources/search")
|
||||
delete_resp = client.delete("/api/tools/resources/turn_on_camera")
|
||||
assert delete_resp.status_code == 200
|
||||
|
||||
get_resp = client.get("/api/tools/resources/search")
|
||||
get_resp = client.get("/api/tools/resources/turn_on_camera")
|
||||
assert get_resp.status_code == 404
|
||||
|
||||
Reference in New Issue
Block a user