Kamixitong/test_password_validation.py
2025-11-11 21:39:12 +08:00

67 lines
2.1 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from app import create_app
def test_password_validation():
"""
测试密码验证逻辑
"""
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
}
# 模拟create_admin函数中的密码验证逻辑
password = valid_data.get('password', '')
if not password or password.strip() == '':
print(" ❌ 密码验证失败: 密码为空")
else:
print(" ✅ 密码验证通过")
# 测试2: 创建时密码为空
print("\n2. 测试创建时密码为空...")
empty_password_data = {
"username": "testuser2",
"email": "test2@example.com",
"password": "",
"role": 0,
"status": 1
}
# 模拟create_admin函数中的密码验证逻辑
password = empty_password_data.get('password', '')
if not password or password.strip() == '':
print(" ✅ 空密码正确拦截")
else:
print(" ❌ 空密码未正确拦截")
# 测试3: 创建时密码只有空格
print("\n3. 测试创建时密码只有空格...")
whitespace_password_data = {
"username": "testuser3",
"email": "test3@example.com",
"password": " ",
"role": 0,
"status": 1
}
# 模拟create_admin函数中的密码验证逻辑
password = whitespace_password_data.get('password', '')
if not password or password.strip() == '':
print(" ✅ 空白密码正确拦截")
else:
print(" ❌ 空白密码未正确拦截")
if __name__ == "__main__":
test_password_validation()