#!/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()