Kamixitong/test_admin_api.py
2025-11-11 21:39:12 +08:00

67 lines
1.8 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 requests
import json
# 测试管理员API功能
def test_admin_api():
# API基础URL
base_url = "http://127.0.0.1:5000"
# 创建会话
session = requests.Session()
# 先访问登录页面获取CSRF token如果需要
login_page = session.get(f"{base_url}/login")
print(f"访问登录页面状态码: {login_page.status_code}")
# 登录
login_data = {
"username": "admin",
"password": "admin123"
}
login_response = session.post(f"{base_url}/login", data=login_data)
print(f"登录状态码: {login_response.status_code}")
print(f"登录响应URL: {login_response.url}")
# 检查是否登录成功
if login_response.url.endswith('/login'):
print("登录失败,仍在登录页面")
return
print("登录成功")
# 测试创建管理员API
admin_data = {
"username": "test_admin_api",
"email": "test_api@example.com",
"password": "test123",
"role": 0,
"status": 1
}
# 注意API端点是/api/v1/admins
response = session.post(f"{base_url}/api/v1/admins", json=admin_data)
print(f"创建管理员状态码: {response.status_code}")
print(f"响应内容: {response.text}")
if response.status_code == 200:
print("管理员创建成功!")
# 解析响应
try:
result = response.json()
if result.get('success'):
print(f"管理员ID: {result['data']['admin_id']}")
else:
print(f"创建失败: {result.get('message')}")
except Exception as e:
print(f"解析响应失败: {e}")
else:
print("管理员创建失败!")
if __name__ == "__main__":
test_admin_api()