Skip to content

Commit

Permalink
updated
Browse files Browse the repository at this point in the history
  • Loading branch information
zopyx committed May 19, 2024
1 parent 76f8e76 commit 0b5c31f
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 2 deletions.
2 changes: 1 addition & 1 deletion fastapi_auth/roles.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from pydantic import BaseModel
from pydantic import BaseModel, Field

from typeguard import typechecked

Expand Down
Empty file added fastapi_auth/tests/__init__.py
Empty file.
21 changes: 21 additions & 0 deletions fastapi_auth/tests/test_permissions.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import pytest

from ..permissions import Permission

from pydantic import ValidationError


def test_permission_creation():
permission = Permission(name="read", description="Can read data")
assert permission.name == "read"
assert permission.description == "Can read data"


def test_permission_without_name():
with pytest.raises(ValidationError):
permission = Permission(description="Can read data")


def test_permission_without_description():
with pytest.raises(ValidationError):
permission = Permission(name="read")
44 changes: 44 additions & 0 deletions fastapi_auth/tests/test_roles.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import pytest
from ..roles import Role
from ..permissions import Permission


from pydantic import ValidationError


def test_role_creation():
role = Role(name="admin", description="Admin role")
assert role.name == "admin"
assert role.description == "Admin role"


def test_role_without_name():
with pytest.raises(ValidationError):
role = Role(description="Admin role")


def test_role_without_description():
with pytest.raises(ValidationError):
role = Role(name="admin")


def test_role_with_permissions():
permissions = [
Permission(name="read", description="Can read data"),
Permission(name="write", description="Can write data"),
]
role = Role(name="admin", description="Admin role", permissions=permissions)
assert role.permissions == permissions


def test_role_creation():
perm1 = Permission(name="read", description="Read permission")
perm2 = Permission(name="write", description="Write permission")
role = Role(name="admin", description="Adminstrator role", permissions=[perm1, perm2])
assert role.name == "admin"

assert perm1 in role.permissions
assert perm2 in role.permissions

perm3 = Permission(name="delete", description="Delete permission")
assert perm3 not in role.permissions
1 change: 0 additions & 1 deletion fastapi_auth/users.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from pydantic import BaseModel, Field

from typing import Optional

from .roles import Role

Expand Down

0 comments on commit 0b5c31f

Please sign in to comment.