103 lines
3.4 KiB
Python
103 lines
3.4 KiB
Python
|
|
import requests
|
||
|
|
import json
|
||
|
|
|
||
|
|
# API基础URL
|
||
|
|
BASE_URL = 'http://localhost:5000/api/wx'
|
||
|
|
|
||
|
|
def test_generate_prompt():
|
||
|
|
"""测试生成提示词接口"""
|
||
|
|
print("\n=== 测试生成提示词 ===")
|
||
|
|
|
||
|
|
url = f'{BASE_URL}/generate'
|
||
|
|
data = {
|
||
|
|
'input_text': '写一篇关于人工智能的文章',
|
||
|
|
'template_id': 1 # 可选
|
||
|
|
}
|
||
|
|
|
||
|
|
try:
|
||
|
|
response = requests.post(url, json=data)
|
||
|
|
result = response.json()
|
||
|
|
|
||
|
|
print(f"状态码: {response.status_code}")
|
||
|
|
print(f"响应数据: {json.dumps(result, ensure_ascii=False, indent=2)}")
|
||
|
|
|
||
|
|
if response.status_code == 200 and result['code'] == 200:
|
||
|
|
print("✓ 生成提示词测试通过")
|
||
|
|
else:
|
||
|
|
print("✗ 生成提示词测试失败")
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
print(f"✗ 测试出错: {str(e)}")
|
||
|
|
|
||
|
|
def test_get_templates():
|
||
|
|
"""测试获取模板列表接口"""
|
||
|
|
print("\n=== 测试获取模板列表 ===")
|
||
|
|
|
||
|
|
# 测试不同的筛选条件
|
||
|
|
test_cases = [
|
||
|
|
{}, # 无筛选
|
||
|
|
{'industry': '移动开发'}, # 按行业筛选
|
||
|
|
{'profession': 'Android工程师'}, # 按职业筛选
|
||
|
|
{'category': '功能开发'}, # 按分类筛选
|
||
|
|
{'industry': '移动开发', 'profession': 'Android工程师'} # 组合筛选
|
||
|
|
]
|
||
|
|
|
||
|
|
for params in test_cases:
|
||
|
|
print(f"\n测试筛选条件: {params}")
|
||
|
|
url = f'{BASE_URL}/templates'
|
||
|
|
|
||
|
|
try:
|
||
|
|
response = requests.get(url, params=params)
|
||
|
|
result = response.json()
|
||
|
|
|
||
|
|
print(f"状态码: {response.status_code}")
|
||
|
|
print(f"返回模板数量: {len(result['data']) if result['code'] == 200 else 0}")
|
||
|
|
|
||
|
|
if response.status_code == 200 and result['code'] == 200:
|
||
|
|
print("✓ 获取模板列表测试通过")
|
||
|
|
else:
|
||
|
|
print("✗ 获取模板列表测试失败")
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
print(f"✗ 测试出错: {str(e)}")
|
||
|
|
|
||
|
|
def test_get_template_detail():
|
||
|
|
"""测试获取模板详情接口"""
|
||
|
|
print("\n=== 测试获取模板详情 ===")
|
||
|
|
|
||
|
|
# 先获取模板列表
|
||
|
|
templates_url = f'{BASE_URL}/templates'
|
||
|
|
try:
|
||
|
|
response = requests.get(templates_url)
|
||
|
|
result = response.json()
|
||
|
|
|
||
|
|
if response.status_code == 200 and result['code'] == 200 and result['data']:
|
||
|
|
# 获取第一个模板的ID
|
||
|
|
template_id = result['data'][0]['id']
|
||
|
|
|
||
|
|
# 测试获取详情
|
||
|
|
detail_url = f'{BASE_URL}/template/{template_id}'
|
||
|
|
detail_response = requests.get(detail_url)
|
||
|
|
detail_result = detail_response.json()
|
||
|
|
|
||
|
|
print(f"状态码: {detail_response.status_code}")
|
||
|
|
print(f"响应数据: {json.dumps(detail_result, ensure_ascii=False, indent=2)}")
|
||
|
|
|
||
|
|
if detail_response.status_code == 200 and detail_result['code'] == 200:
|
||
|
|
print("✓ 获取模板详情测试通过")
|
||
|
|
else:
|
||
|
|
print("✗ 获取模板详情测试失败")
|
||
|
|
else:
|
||
|
|
print("✗ 无法获取模板列表进行测试")
|
||
|
|
|
||
|
|
except Exception as e:
|
||
|
|
print(f"✗ 测试出错: {str(e)}")
|
||
|
|
|
||
|
|
def run_all_tests():
|
||
|
|
"""运行所有测试"""
|
||
|
|
test_generate_prompt()
|
||
|
|
test_get_templates()
|
||
|
|
test_get_template_detail()
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
run_all_tests()
|