Files
aitsc/test_tencent_db_connection.py
2025-10-10 23:39:54 +08:00

170 lines
5.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
测试腾讯云数据库连接和优化历史表
"""
import pymysql
import sys
import os
# 添加项目路径
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
def test_tencent_db_connection():
"""测试腾讯云数据库连接"""
print("🔍 测试腾讯云数据库连接...")
try:
# 腾讯云数据库连接参数
conn = pymysql.connect(
host='gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com',
port=24936,
user='root',
password='!Rjb12191',
database='pro_db',
charset='utf8mb4'
)
cursor = conn.cursor()
print("✅ 腾讯云数据库连接成功")
# 检查优化历史表是否存在
cursor.execute("SHOW TABLES LIKE 'optimization_history'")
result = cursor.fetchone()
if result:
print("✅ optimization_history 表存在")
# 检查表结构
cursor.execute("DESCRIBE optimization_history")
columns = cursor.fetchall()
print("📊 表结构:")
for col in columns:
print(f" - {col[0]}: {col[1]}")
# 检查记录数量
cursor.execute("SELECT COUNT(*) FROM optimization_history")
count = cursor.fetchone()[0]
print(f"📈 当前记录数: {count}")
# 检查最近几条记录
cursor.execute("SELECT id, original_text, optimized_text, created_at FROM optimization_history ORDER BY created_at DESC LIMIT 3")
records = cursor.fetchall()
print("📋 最近3条记录:")
for record in records:
print(f" ID: {record[0]}, 创建时间: {record[3]}")
print(f" 原始: {record[1][:50]}...")
print(f" 优化: {record[2][:50]}...")
print()
else:
print("❌ optimization_history 表不存在")
return False
cursor.close()
conn.close()
return True
except Exception as e:
print(f"❌ 数据库连接失败: {e}")
return False
def test_optimization_history_api():
"""测试优化历史API"""
print("\n🔍 测试优化历史API...")
try:
import requests
# 测试获取历史记录
response = requests.get("http://localhost:5002/api/optimization-history", timeout=10)
print(f"📊 GET API 状态码: {response.status_code}")
if response.status_code == 200:
data = response.json()
print(f"✅ API响应成功包含 {len(data.get('data', []))} 条记录")
return True
else:
print(f"❌ API响应失败: {response.text}")
return False
except Exception as e:
print(f"❌ API测试失败: {e}")
return False
def test_add_optimization_record():
"""测试添加优化历史记录"""
print("\n🔍 测试添加优化历史记录...")
try:
import requests
test_data = {
"original_text": "测试原始文本",
"optimized_text": "测试优化后的文本,这是一个用于验证腾讯云数据库连接和优化历史功能的测试记录。",
"optimization_type": "提示词优化",
"industry": "测试行业",
"profession": "测试职业",
"tags": ["测试", "数据库验证"]
}
response = requests.post(
"http://localhost:5002/api/optimization-history",
headers={'Content-Type': 'application/json'},
json=test_data,
timeout=10
)
print(f"📊 POST API 状态码: {response.status_code}")
if response.status_code == 200:
result = response.json()
if result.get('success'):
print("✅ 添加优化历史记录成功")
print(f"📋 记录ID: {result.get('data', {}).get('id', 'N/A')}")
return True
else:
print(f"❌ 添加失败: {result.get('message', '未知错误')}")
return False
else:
print(f"❌ 请求失败: {response.text}")
return False
except Exception as e:
print(f"❌ 添加测试失败: {e}")
return False
def main():
"""主测试函数"""
print("🚀 开始测试腾讯云数据库连接和优化历史功能...")
print("=" * 60)
# 测试数据库连接
db_ok = test_tencent_db_connection()
if not db_ok:
print("\n❌ 数据库连接失败,请检查腾讯云数据库配置")
return
# 测试API接口
api_ok = test_optimization_history_api()
# 测试添加记录
add_ok = test_add_optimization_record()
print("\n" + "=" * 60)
print("📊 测试结果汇总:")
print(f" 数据库连接: {'✅ 正常' if db_ok else '❌ 异常'}")
print(f" API接口: {'✅ 正常' if api_ok else '❌ 异常'}")
print(f" 添加记录: {'✅ 正常' if add_ok else '❌ 异常'}")
if db_ok and api_ok and add_ok:
print("\n🎉 腾讯云数据库和优化历史功能测试通过!")
else:
print("\n⚠️ 部分功能异常,需要进一步检查")
if __name__ == "__main__":
main()