Add domain tests for all of authz
This commit is contained in:
parent
be29c5804f
commit
c4039de861
23
tests/domain/test_roles.py
Normal file
23
tests/domain/test_roles.py
Normal file
@ -0,0 +1,23 @@
|
||||
import pytest
|
||||
from atst.domain.roles import Roles
|
||||
from atst.domain.exceptions import NotFoundError
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def roles_repo(db):
|
||||
return Roles(db)
|
||||
|
||||
|
||||
def test_get_all_roles(roles_repo):
|
||||
roles = roles_repo.get_all()
|
||||
assert roles
|
||||
|
||||
|
||||
def test_get_existing_role(roles_repo):
|
||||
role = roles_repo.get("developer")
|
||||
assert role.name == "developer"
|
||||
|
||||
|
||||
def test_get_nonexistent_role(roles_repo):
|
||||
with pytest.raises(NotFoundError):
|
||||
roles_repo.get("nonexistent")
|
72
tests/domain/test_users.py
Normal file
72
tests/domain/test_users.py
Normal file
@ -0,0 +1,72 @@
|
||||
import pytest
|
||||
from uuid import uuid4, UUID
|
||||
|
||||
from atst.domain.users import Users
|
||||
from atst.domain.exceptions import NotFoundError, AlreadyExistsError
|
||||
|
||||
@pytest.fixture()
|
||||
def users_repo(db) -> Users:
|
||||
return Users(db)
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def user_id():
|
||||
return uuid4()
|
||||
|
||||
|
||||
def test_create_user(users_repo, user_id):
|
||||
user = users_repo.create(user_id, "developer")
|
||||
assert user.id == user_id
|
||||
|
||||
|
||||
def test_create_user_with_nonexistent_role(users_repo, user_id):
|
||||
with pytest.raises(NotFoundError):
|
||||
users_repo.create(user_id, "nonexistent")
|
||||
|
||||
|
||||
def test_create_already_existing_user(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
with pytest.raises(AlreadyExistsError):
|
||||
users_repo.create(user_id, "developer")
|
||||
|
||||
|
||||
def test_get_or_create_nonexistent_user(users_repo, user_id):
|
||||
user = users_repo.get_or_create(user_id, atat_role_name="developer")
|
||||
assert user.id == user_id
|
||||
|
||||
|
||||
def test_get_or_create_existing_user(users_repo, user_id):
|
||||
users_repo.get_or_create(user_id, atat_role_name="developer")
|
||||
user = users_repo.get_or_create(user_id, atat_role_name="developer")
|
||||
assert user
|
||||
|
||||
|
||||
def test_get_user(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
user = users_repo.get(user_id)
|
||||
assert user.id == user_id
|
||||
|
||||
|
||||
def test_get_nonexistent_user(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
with pytest.raises(NotFoundError):
|
||||
users_repo.get(uuid4())
|
||||
|
||||
|
||||
def test_update_user(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
updated_user = users_repo.update(user_id, "ccpo")
|
||||
|
||||
assert updated_user.atat_role.name == "ccpo"
|
||||
|
||||
|
||||
def test_update_nonexistent_user(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
with pytest.raises(NotFoundError):
|
||||
users_repo.update(uuid4(), "ccpo")
|
||||
|
||||
|
||||
def test_update_existing_user_with_nonexistent_role(users_repo, user_id):
|
||||
users_repo.create(user_id, "developer")
|
||||
with pytest.raises(NotFoundError):
|
||||
users_repo.update(user_id, "nonexistent")
|
Loading…
x
Reference in New Issue
Block a user