67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
|
|
#!/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()
|