70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
|
|
#!/usr/bin/env python3
|
||
|
|
# -*- coding: utf-8 -*-
|
||
|
|
|
||
|
|
from app import create_app
|
||
|
|
from app.api.admin import validate_admin_data
|
||
|
|
|
||
|
|
def verify_fix():
|
||
|
|
"""
|
||
|
|
验证密码验证逻辑修复
|
||
|
|
"""
|
||
|
|
app = create_app()
|
||
|
|
|
||
|
|
with app.app_context():
|
||
|
|
print("=== 验证密码验证逻辑修复 ===")
|
||
|
|
|
||
|
|
# 测试1: 正常创建管理员数据
|
||
|
|
print("\n1. 测试正常创建管理员数据...")
|
||
|
|
valid_data = {
|
||
|
|
"username": "testuser",
|
||
|
|
"email": "test@example.com",
|
||
|
|
"password": "testpassword123",
|
||
|
|
"role": 0,
|
||
|
|
"status": 1
|
||
|
|
}
|
||
|
|
|
||
|
|
is_valid, message = validate_admin_data(valid_data, is_create=True)
|
||
|
|
print(f" 验证结果: {is_valid}")
|
||
|
|
print(f" 消息: {message}")
|
||
|
|
if is_valid:
|
||
|
|
print(" ✅ 正常数据验证通过")
|
||
|
|
else:
|
||
|
|
print(" ❌ 正常数据验证失败")
|
||
|
|
|
||
|
|
# 测试2: 创建时密码为空
|
||
|
|
print("\n2. 测试创建时密码为空...")
|
||
|
|
empty_password_data = {
|
||
|
|
"username": "testuser2",
|
||
|
|
"email": "test2@example.com",
|
||
|
|
"password": "",
|
||
|
|
"role": 0,
|
||
|
|
"status": 1
|
||
|
|
}
|
||
|
|
|
||
|
|
is_valid, message = validate_admin_data(empty_password_data, is_create=True)
|
||
|
|
print(f" 验证结果: {is_valid}")
|
||
|
|
print(f" 消息: {message}")
|
||
|
|
if not is_valid and "密码不能为空" in message:
|
||
|
|
print(" ✅ 空密码正确拦截")
|
||
|
|
else:
|
||
|
|
print(" ❌ 空密码未正确拦截")
|
||
|
|
|
||
|
|
# 测试3: 更新时密码为空(应该允许)
|
||
|
|
print("\n3. 测试更新时密码为空...")
|
||
|
|
update_data = {
|
||
|
|
"email": "update@example.com",
|
||
|
|
"password": "", # 更新时密码可以为空
|
||
|
|
"role": 1,
|
||
|
|
"status": 1
|
||
|
|
}
|
||
|
|
|
||
|
|
is_valid, message = validate_admin_data(update_data, is_create=False)
|
||
|
|
print(f" 验证结果: {is_valid}")
|
||
|
|
print(f" 消息: {message}")
|
||
|
|
if is_valid:
|
||
|
|
print(" ✅ 更新时空密码允许")
|
||
|
|
else:
|
||
|
|
print(" ❌ 更新时空密码不应拦截")
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
verify_fix()
|