#!/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()