Kamixitong/final_test.py

88 lines
2.7 KiB
Python
Raw Normal View History

2025-11-11 21:39:12 +08:00
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
import json
def final_test():
"""
最终测试管理员创建功能
"""
base_url = "http://127.0.0.1:5000"
# 创建会话以保持cookies
session = requests.Session()
print("=== 最终测试管理员创建功能 ===")
# 1. 登录
print("\n1. 登录...")
login_data = {
"username": "admin",
"password": "admin123"
}
try:
login_response = session.post(f"{base_url}/login", data=login_data)
print(f" 登录状态码: {login_response.status_code}")
print(f" 登录后URL: {login_response.url}")
# 检查是否登录成功
if "/dashboard" in login_response.url or (login_response.status_code == 200 and "dashboard" in login_response.text.lower()):
print(" ✅ 登录成功")
else:
print(" ⚠️ 登录状态不确定")
except Exception as e:
print(f" 登录请求失败: {e}")
return
# 2. 测试创建管理员API
print("\n2. 测试创建管理员API...")
admin_data = {
"username": "final_test_user",
"email": "final_test@example.com",
"password": "final_test123",
"role": 0,
"status": 1
}
print(f" 发送数据: {json.dumps(admin_data, ensure_ascii=False)}")
try:
# 发送POST请求到API端点
api_response = session.post(
f"{base_url}/api/v1/admins",
json=admin_data,
headers={
"Content-Type": "application/json"
}
)
print(f" API状态码: {api_response.status_code}")
print(f" API响应内容: {api_response.text}")
# 尝试解析JSON响应
try:
result = api_response.json()
print(f" 解析结果: {json.dumps(result, ensure_ascii=False, indent=2)}")
if api_response.status_code == 200 and result.get('success'):
print(" ✅ 管理员创建成功!")
elif api_response.status_code == 400:
print(" ❌ 400错误 - 请求数据有问题")
elif api_response.status_code == 401:
print(" ❌ 401错误 - 需要登录")
elif api_response.status_code == 403:
print(" ❌ 403错误 - 权限不足")
else:
print(f" ❌ 其他错误: {api_response.status_code}")
except Exception as e:
print(f" 无法解析JSON响应: {e}")
except Exception as e:
print(f" API请求失败: {e}")
return
if __name__ == "__main__":
final_test()