添加测试、添加总结、全量、rag(todo)3种历史记录保存方式,流式实现
This commit is contained in:
99
test_character_update.py
Normal file
99
test_character_update.py
Normal file
@@ -0,0 +1,99 @@
|
||||
"""
|
||||
测试角色卡更新API
|
||||
"""
|
||||
import requests
|
||||
import json
|
||||
|
||||
# 测试配置
|
||||
BASE_URL = "http://localhost:8000/api"
|
||||
|
||||
def test_update_character():
|
||||
"""测试更新角色卡"""
|
||||
|
||||
# 1. 先获取所有角色
|
||||
print("1. 获取角色列表...")
|
||||
response = requests.get(f"{BASE_URL}/characters/")
|
||||
if response.status_code != 200:
|
||||
print(f"❌ 获取角色列表失败: {response.status_code}")
|
||||
return
|
||||
|
||||
characters = response.json()
|
||||
if not characters:
|
||||
print("❌ 没有角色卡可供测试")
|
||||
return
|
||||
|
||||
# 选择第一个角色
|
||||
test_char = characters[0]
|
||||
char_name = test_char['name']
|
||||
print(f"✅ 找到角色: {char_name}")
|
||||
|
||||
# 2. 获取角色详情
|
||||
print(f"\n2. 获取角色 '{char_name}' 的详情...")
|
||||
response = requests.get(f"{BASE_URL}/characters/{char_name}")
|
||||
if response.status_code != 200:
|
||||
print(f"❌ 获取角色详情失败: {response.status_code}")
|
||||
return
|
||||
|
||||
original_data = response.json()
|
||||
print(f"✅ 原始描述长度: {len(original_data.get('description', ''))}")
|
||||
|
||||
# 3. 更新角色(添加测试标记)
|
||||
print(f"\n3. 更新角色 '{char_name}'...")
|
||||
update_data = {
|
||||
"description": original_data.get('description', '') + '\n\n[测试更新标记]',
|
||||
"tags": original_data.get('tags', []) + ['test_update']
|
||||
}
|
||||
|
||||
response = requests.put(
|
||||
f"{BASE_URL}/characters/{char_name}",
|
||||
json=update_data,
|
||||
headers={'Content-Type': 'application/json'}
|
||||
)
|
||||
|
||||
if response.status_code != 200:
|
||||
print(f"❌ 更新失败: {response.status_code}")
|
||||
print(f"响应内容: {response.text}")
|
||||
return
|
||||
|
||||
result = response.json()
|
||||
print(f"✅ 更新成功: {result.get('success')}")
|
||||
|
||||
# 4. 验证更新
|
||||
print(f"\n4. 验证更新结果...")
|
||||
response = requests.get(f"{BASE_URL}/characters/{char_name}")
|
||||
updated_data = response.json()
|
||||
|
||||
new_desc = updated_data.get('description', '')
|
||||
if '[测试更新标记]' in new_desc:
|
||||
print("✅ 验证成功:描述已更新")
|
||||
else:
|
||||
print("❌ 验证失败:描述未更新")
|
||||
|
||||
if 'test_update' in updated_data.get('tags', []):
|
||||
print("✅ 验证成功:标签已更新")
|
||||
else:
|
||||
print("❌ 验证失败:标签未更新")
|
||||
|
||||
# 5. 恢复原始数据
|
||||
print(f"\n5. 恢复原始数据...")
|
||||
response = requests.put(
|
||||
f"{BASE_URL}/characters/{char_name}",
|
||||
json={
|
||||
"description": original_data.get('description', ''),
|
||||
"tags": original_data.get('tags', [])
|
||||
},
|
||||
headers={'Content-Type': 'application/json'}
|
||||
)
|
||||
|
||||
if response.status_code == 200:
|
||||
print("✅ 数据已恢复")
|
||||
else:
|
||||
print(f"⚠️ 恢复失败: {response.status_code}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
test_update_character()
|
||||
except Exception as e:
|
||||
print(f"❌ 测试出错: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
Reference in New Issue
Block a user