@@ -28,37 +28,38 @@ def user(db) -> User:
2828def easy_api_client (user ) -> Callable :
2929 orig_func = copy .deepcopy (JWTAuthAsync .__call__ )
3030
31- orig_has_perm_fuc = copy .deepcopy (user .has_perm )
32-
33- def mock_has_perm_true (* args , ** kwargs ):
34- return True
35-
36- def mock_has_perm_false (* args , ** kwargs ):
37- return False
38-
39- async def mock_func (self , request ):
40- setattr (request , "user" , user )
41- return True
42-
43- setattr (JWTAuthAsync , "__call__" , mock_func )
44-
4531 def create_client (
4632 api : Union [EasyAPI , Router , Type [ControllerBase ]],
33+ api_user = None , # type: ignore
4734 is_staff : bool = False ,
4835 is_superuser : bool = False ,
4936 has_perm : bool = False ,
5037 ) -> "EasyTestClient" :
51- setattr (user , "is_staff" , is_staff )
52- setattr (user , "is_superuser" , is_superuser )
38+ if api_user is None :
39+ api_user = user
40+ setattr (api_user , "is_staff" , is_staff )
41+ setattr (api_user , "is_superuser" , is_superuser )
42+
43+ def mock_has_perm_true (* args , ** kwargs ):
44+ return True
45+
46+ def mock_has_perm_false (* args , ** kwargs ):
47+ return False
48+
49+ async def mock_func (self , request ):
50+ setattr (request , "user" , api_user )
51+ return True
52+
53+ setattr (JWTAuthAsync , "__call__" , mock_func )
54+
5355 if is_superuser :
54- setattr (user , "is_staff" , True )
56+ setattr (api_user , "is_staff" , True )
5557 if has_perm :
56- setattr (user , "has_perm" , mock_has_perm_true )
58+ setattr (api_user , "has_perm" , mock_has_perm_true )
5759 else :
58- setattr (user , "has_perm" , mock_has_perm_false )
60+ setattr (api_user , "has_perm" , mock_has_perm_false )
5961 client = EasyTestClient (api , auth = jwt_auth_async )
6062 return client
6163
6264 yield create_client
6365 setattr (JWTAuthAsync , "__call__" , orig_func )
64- setattr (user , "has_perm" , orig_has_perm_fuc )
0 commit comments