Files
algorithm/backend/test_api.py

53 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""测试前端API调用"""
import sys
import os
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
import requests
def test_api():
"""测试API"""
try:
# 调用算法列表API
response = requests.get('http://localhost:8001/api/v1/algorithms/')
if response.status_code == 200:
data = response.json()
algorithms = data.get('algorithms', [])
print(f"成功获取 {len(algorithms)} 个算法\n")
# 检查每个算法的字段
for algo in algorithms:
print(f"算法: {algo['name']}")
print(f" 技术分类: {algo.get('tech_category', 'N/A')}")
print(f" 输出类型: {algo.get('output_type', 'N/A')}")
print()
# 测试筛选
print("测试筛选功能:")
# 按技术分类筛选
cv_algorithms = [a for a in algorithms if a.get('tech_category') == 'computer_vision']
print(f" 计算机视觉算法: {len(cv_algorithms)}")
# 按输出类型筛选
image_algorithms = [a for a in algorithms if a.get('output_type') == 'image']
print(f" 图片输出算法: {len(image_algorithms)}")
# 按名称搜索
search_results = [a for a in algorithms if '视频' in a.get('name', '')]
print(f" 包含'视频'的算法: {len(search_results)}")
else:
print(f"API调用失败: {response.status_code}")
print(response.text)
except Exception as e:
print(f"测试失败: {e}")
sys.exit(1)
if __name__ == "__main__":
test_api()