feat: Implement random password and token generation for tests

This commit is contained in:
2025-11-12 11:53:44 +01:00
parent 3bdae3c54c
commit e06a6ae068
8 changed files with 83 additions and 41 deletions

View File

@@ -15,6 +15,7 @@ from services.repositories import (
ensure_default_roles,
)
from services.unit_of_work import UnitOfWork
from tests.utils.security import random_password
@pytest.fixture()
@@ -60,7 +61,7 @@ def test_user_repository_assign_and_revoke_role(session: Session) -> None:
user = User(
email="user@example.com",
username="user",
password_hash=User.hash_password("secret"),
password_hash=User.hash_password(random_password()),
)
user_repo.create(user)
@@ -84,12 +85,14 @@ def test_default_role_and_admin_helpers(session: Session) -> None:
assert {role.name for role in roles} == {
"admin", "project_manager", "analyst", "viewer"}
admin_password = random_password()
ensure_admin_user(
user_repo,
role_repo,
email="admin@example.com",
username="admin",
password="SecurePass1!",
password=admin_password,
)
admin = user_repo.get_by_email("admin@example.com", with_roles=True)
@@ -103,7 +106,7 @@ def test_default_role_and_admin_helpers(session: Session) -> None:
role_repo,
email="admin@example.com",
username="admin",
password="SecurePass1!",
password=admin_password,
)
admin_again = user_repo.get_by_email("admin@example.com", with_roles=True)
assert admin_again is not None
@@ -125,7 +128,7 @@ def test_unit_of_work_exposes_auth_repositories(engine) -> None:
uow.ensure_admin_user(
email="uow-admin@example.com",
username="uow-admin",
password="AnotherSecret1!",
password=random_password(),
)
admin = uow.users.get_by_email(