Skip to content

Commit ad5cbf9

Browse files
committed
Fix permission test codes
1 parent c876ab8 commit ad5cbf9

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

tests/core/fastapi/dependencies/test_permission.py

+16-12
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
from unittest.mock import AsyncMock, Mock, patch
1+
from unittest.mock import AsyncMock, Mock
22

33
import pytest
44
from fastapi import Request
55

6-
from app.user.application.service.user import UserService
6+
from app.container import Container
77
from core.fastapi.dependencies import (
8-
PermissionDependency,
8+
AllowAll,
99
IsAdmin,
1010
IsAuthenticated,
11-
AllowAll,
11+
PermissionDependency,
1212
)
13-
from core.fastapi.dependencies import permission
1413
from core.fastapi.dependencies.permission import UnauthorizedException
1514

15+
container = Container()
16+
1617

1718
@pytest.mark.asyncio
1819
async def test_permission_dependency_is_authenticated():
@@ -27,31 +28,34 @@ async def test_permission_dependency_is_authenticated():
2728

2829

2930
@pytest.mark.asyncio
30-
@patch.object(permission, "UserService", spec=UserService)
31-
async def test_permission_dependency_is_admin_user_is_not_admin(user_service_mock):
31+
async def test_permission_dependency_is_admin_user_is_not_admin():
3232
# Given
3333
dependency = PermissionDependency(permissions=[IsAdmin])
3434
request = AsyncMock(spec=Request)
3535
user_id = 1
3636
request.user = Mock(id=user_id)
37+
user_service_mock = AsyncMock()
3738
user_service_mock.is_admin.return_value = False
3839

3940
# When, Then
40-
await dependency(request=request)
41+
with container.user_service.override(user_service_mock):
42+
with pytest.raises(UnauthorizedException):
43+
await dependency(request=request)
4144

4245

4346
@pytest.mark.asyncio
44-
@patch.object(permission, "UserService", spec=UserService)
45-
async def test_permission_dependency_is_admin_user_id_is_none(user_service_mock):
47+
async def test_permission_dependency_is_admin_user_id_is_none():
4648
# Given
4749
dependency = PermissionDependency(permissions=[IsAdmin])
4850
request = AsyncMock(spec=Request)
4951
request.user = Mock(id=None)
52+
user_service_mock = AsyncMock()
5053
user_service_mock.is_admin.return_value = False
5154

5255
# When, Then
53-
with pytest.raises(UnauthorizedException):
54-
await dependency(request=request)
56+
with container.user_service.override(user_service_mock):
57+
with pytest.raises(UnauthorizedException):
58+
await dependency(request=request)
5559

5660

5761
@pytest.mark.asyncio

0 commit comments

Comments
 (0)