Files
controles/create_test_users.py

65 lines
2.3 KiB
Python
Raw Normal View History

from functions.database import Usuario, Role, get_db_connection
def create_test_users():
"""Cria usuários de teste para o sistema"""
session = get_db_connection()
try:
# Buscar roles
secretario_celula = session.query(Role).filter_by(nivel=Role.SECRETARIO_CELULA).first()
secretario_setor = session.query(Role).filter_by(nivel=Role.SECRETARIO_SETOR).first()
secretario_cr = session.query(Role).filter_by(nivel=Role.SECRETARIO_CR).first()
secretario_geral = session.query(Role).filter_by(nivel=Role.SECRETARIO_GERAL).first()
# Criar usuários de teste
usuarios = [
{
'username': 'celula',
'email': 'celula@example.com',
'password': 'celula123',
'role': secretario_celula,
'tipo': 'SECRETARIO_CELULA'
},
{
'username': 'setor',
'email': 'setor@example.com',
'password': 'setor123',
'role': secretario_setor,
'tipo': 'SECRETARIO_SETOR'
},
{
'username': 'cr',
'email': 'cr@example.com',
'password': 'cr123',
'role': secretario_cr,
'tipo': 'SECRETARIO_CR'
},
{
'username': 'geral',
'email': 'geral@example.com',
'password': 'geral123',
'role': secretario_geral,
'tipo': 'SECRETARIO_GERAL'
}
]
for user_data in usuarios:
# Verificar se o usuário já existe
if not session.query(Usuario).filter_by(username=user_data['username']).first():
user = Usuario(
username=user_data['username'],
email=user_data['email']
)
user.set_password(user_data['password'])
user.tipo = user_data['tipo']
user.roles.append(user_data['role'])
session.add(user)
session.commit()
print("Usuários de teste criados com sucesso!")
except Exception as e:
print(f"Erro ao criar usuários de teste: {e}")
session.rollback()
raise
finally:
session.close()