import requests import json import time # API的基础URL BASE_URL = "http://localhost:9676/api/v1" def test_health_check(): """测试健康检查端点""" print("测试健康检查端点...") try: response = requests.get("http://localhost:9676/health") print(f"健康检查响应: {response.status_code}") print(f"健康检查响应正文: {response.text}") return response except Exception as e: print(f"健康检查时出错: {e}") return None def test_save_contenttype(): """测试ContentType保存端点""" print("\n测试ContentType保存端点...") # 要保存的ContentType数据 data_to_save = {"code": "FAQ", "name": "常见问题"} try: response = requests.post(f"{BASE_URL}/type/save", json=data_to_save) print(f"ContentType保存响应: {response.status_code}") print(f"ContentType保存响应正文: {response.text}") return response except Exception as e: print(f"ContentType保存测试时出错: {e}") return None def test_get_contenttype(): """测试ContentType检索端点""" print("\n测试ContentType检索端点...") try: # 获取所有ContentType response = requests.get(f"{BASE_URL}/type/get") print(f"ContentType获取响应: {response.status_code}") print(f"ContentType获取响应正文: {response.text}") return response except Exception as e: print(f"ContentType获取测试时出错: {e}") return None def test_save_content(): """测试Content保存端点""" print("\n测试Content保存端点...") # 先获取FAQ类型的ID try: response = requests.get(f"{BASE_URL}/type/get?code=FAQ") if response.status_code == 200: data = response.json() if data["count"] > 0: content_type_id = data["data"][0]["id"] # 要保存的Content数据 data_to_save = { "type": content_type_id, "question": "这是什么系统?", "answer": "这是一个AI管理系统。", } response = requests.post(f"{BASE_URL}/content/save", json=data_to_save) print(f"Content保存响应: {response.status_code}") print(f"Content保存响应正文: {response.text}") return response else: print("未找到FAQ ContentType,无法测试Content保存") return None else: print("获取FAQ ContentType失败,无法测试Content保存") return None except Exception as e: print(f"Content保存测试时出错: {e}") return None def test_get_content(): """测试Content检索端点""" print("\n测试Content检索端点...") try: # 获取所有Content response = requests.get(f"{BASE_URL}/content/get") print(f"Content获取响应: {response.status_code}") print(f"Content获取响应正文: {response.text}") return response except Exception as e: print(f"Content获取测试时出错: {e}") return None def test_get_content_by_type(): """测试按类型检索Content""" print("\n测试按类型检索Content...") try: # 获取FAQ类型的Content response = requests.get(f"{BASE_URL}/content/get?type=1") print(f"按类型Content获取响应: {response.status_code}") print(f"按类型Content获取响应正文: {response.text}") return response except Exception as e: print(f"按类型Content获取测试时出错: {e}") return None if __name__ == "__main__": print("开始API测试...\n") # 等待片刻以便服务器准备就绪(如果正在运行) time.sleep(1) # 首先测试健康检查 test_health_check() # 测试ContentType保存 test_save_contenttype() # 测试ContentType检索 test_get_contenttype() # 测试Content保存 test_save_content() # 测试Content检索 test_get_content() # 测试按类型检索Content test_get_content_by_type() print("\n测试完成!")