Kamixitong/test_admin_api.py

67 lines
1.8 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
# 测试管理员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()