Files
aitsc/test_tencent_db_connection.py

173 lines
5.4 KiB
Python
Raw Normal View History

2025-10-10 23:39:54 +08:00
#!/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()
2025-10-13 00:40:03 +08:00
2025-10-17 23:05:02 +08:00