11import contextlib
2- from unittest import mock
32
43import crate .client .http
54
65
76@contextlib .contextmanager
87def jwt_token_patch (jwt_token : str = None ):
9- with mock .patch .object (crate .client .http .Client , "_request" , _mk_crate_client_server_request (jwt_token )):
8+ original_request = crate .client .http .Client ._request
9+ crate .client .http .Client ._request = _mk_crate_client_request (original_request , jwt_token )
10+ try :
1011 yield
12+ finally :
13+ crate .client .http .Client ._request = original_request
1114
1215
13- def _mk_crate_client_server_request ( jwt_token : str = None ):
16+ def _mk_crate_client_request ( orig , jwt_token : str = None ):
1417 """
15- Create a monkey patched Server.request method to add the Authorization header for JWT token-based authentication.
18+ Create a monkey patched Client._request method to add the Authorization header for JWT token-based authentication.
1619 """
1720
18- _crate_client_server_request_dist = crate .client .http .Client ._request
19-
20- def _crate_client_server_request (self , * args , ** kwargs ):
21+ def _crate_client_request (self , * args , ** kwargs ):
2122 """
2223 Monkey patch the Server.request method to add the Authorization header for JWT token-based authentication.
2324
@@ -26,6 +27,6 @@ def _crate_client_server_request(self, *args, **kwargs):
2627 if jwt_token :
2728 kwargs .setdefault ("headers" , {})
2829 kwargs ["headers" ].update ({"Authorization" : "Bearer " + jwt_token })
29- return _crate_client_server_request_dist (self , * args , ** kwargs )
30+ return orig (self , * args , ** kwargs )
3031
31- return _crate_client_server_request
32+ return _crate_client_request
0 commit comments