Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions tests/test_auth.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
import pytest

from freenit.models.user import User

from . import factories


@pytest.mark.asyncio
class TestAuth:
async def test_login(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
response = client.login(user=user)

Expand All @@ -23,7 +21,7 @@ async def test_register(self, client):
assert response.status_code == 200

async def test_refresh(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
response = client.post("/auth/refresh")
Expand Down
17 changes: 7 additions & 10 deletions tests/test_permission.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
import pytest
from fastapi import HTTPException, Request

from freenit.auth import decode, encode, permissions
from freenit.models.role import Role
from freenit.models.user import User

from . import factories

Expand All @@ -18,17 +15,17 @@ def prepareRequest(user):
@pytest.mark.asyncio
class TestPermission:
async def test_encode_decode(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
token = encode(user)
token_user = await decode(token)
assert token_user == user

async def test_permissions(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
perms = permissions()
Expand All @@ -37,9 +34,9 @@ async def test_permissions(self, client):
assert user == token_user

async def test_role_permissions(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
role: Role = factories.Role()
role = factories.Role()
await role.save()
await user.roles.add(role)
client.login(user=user)
Expand All @@ -49,9 +46,9 @@ async def test_role_permissions(self, client):
assert user == api_user

async def test_role_fail_permissions(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
role: Role = factories.Role()
role = factories.Role()
await role.save()
client.login(user=user)
perms = permissions(roles=[role.name])
Expand Down
31 changes: 14 additions & 17 deletions tests/test_role.py
Original file line number Diff line number Diff line change
@@ -1,70 +1,67 @@
import pytest

from freenit.models.role import Role
from freenit.models.user import User

from . import factories


@pytest.mark.asyncio
class TestRole:
async def test_get_role_list(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
response = client.get(f"/roles")
response = client.get("/roles")
assert response.status_code == 200

async def test_create_role(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
data = {"name": "myrole"}
response = client.post(f"/roles", data=data)
response = client.post("/roles", data=data)
assert response.status_code == 200

async def test_get_role_by_id(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
response = client.get(f"/roles/{role.id}")
assert response.status_code == 200

async def test_edit_role(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
data = {"name": "myrole"}
response = client.patch(f"/roles/{role.id}", data=data)
assert response.status_code == 200

async def test_delete_role(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
response = client.delete(f"/roles/{role.id}")
assert response.status_code == 200

async def test_role_assign_user(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
response = client.post(f"/roles/{role.id}/{user.id}")
assert response.status_code == 200

async def test_role_deassign_user(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
role: Role = factories.Role()
role = factories.Role()
await role.save()
await user.roles.add(role)
response = client.delete(f"/roles/{role.id}/{user.id}")
Expand Down
18 changes: 8 additions & 10 deletions tests/test_user.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,19 @@
import pytest

from freenit.models.user import User

from . import factories


@pytest.mark.asyncio
class TestUser:
async def test_get_profile(self, client):
user: User = factories.User()
user = factories.User()
await user.save()
client.login(user=user)
response = client.get("/profile")
assert response.status_code == 200

async def test_patch_profile(self, client):
admin: User = factories.User()
admin = factories.User()
await admin.save()
client.login(user=admin)
data = {
Expand All @@ -27,30 +25,30 @@ async def test_patch_profile(self, client):
assert response.json()["email"] == data["email"]

async def test_get_user_list(self, client):
admin: User = factories.User()
admin = factories.User()
await admin.save()
client.login(user=admin)
response = client.get(f"/users")
response = client.get("/users")
assert response.status_code == 200

async def test_get_user_by_id(self, client):
admin: User = factories.User()
admin = factories.User()
await admin.save()
client.login(user=admin)
response = client.get(f"/users/{admin.id}")
assert response.status_code == 200

async def test_delete_user(self, client):
admin: User = factories.User()
admin = factories.User()
await admin.save()
client.login(user=admin)
user: User = factories.User()
user = factories.User()
await user.save()
response = client.delete(f"/users/{user.id}")
assert response.status_code == 200

async def test_edit_user(self, client):
admin: User = factories.User()
admin = factories.User()
await admin.save()
client.login(user=admin)
data = {
Expand Down
Loading