67 lines
2.1 KiB
Python
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() |