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() |