@@ -206,10 +206,9 @@ def test_token_200(rest_mock: Mocker) -> None:
206206 status_code = 200 ,
207207 request_headers = OAUTH_TEST_HEADERS ,
208208 )
209- assert (
210- RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS )._session .headers ["Authorization" ] # pylint: disable=W0212
211- == f"Bearer { TEST_TOKEN } "
212- )
209+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS )
210+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
211+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
213212
214213
215214@pytest .mark .filterwarnings (
@@ -226,10 +225,9 @@ def test_token_200_without_optional_fields(rest_mock: Mocker) -> None:
226225 status_code = 200 ,
227226 request_headers = OAUTH_TEST_HEADERS ,
228227 )
229- assert (
230- RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS )._session .headers ["Authorization" ] # pylint: disable=W0212
231- == f"Bearer { TEST_TOKEN } "
232- )
228+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS )
229+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
230+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
233231
234232
235233@pytest .mark .filterwarnings (
@@ -248,12 +246,9 @@ def test_token_with_optional_oauth_params(rest_mock: Mocker) -> None:
248246 status_code = 200 ,
249247 request_headers = OAUTH_TEST_HEADERS ,
250248 )
251- assert (
252- RestCatalog (
253- "rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , audience = TEST_AUDIENCE , resource = TEST_RESOURCE
254- )._session .headers ["Authorization" ]
255- == f"Bearer { TEST_TOKEN } "
256- )
249+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , audience = TEST_AUDIENCE , resource = TEST_RESOURCE )
250+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
251+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
257252 assert TEST_AUDIENCE in mock_request .last_request .text
258253 assert TEST_RESOURCE in mock_request .last_request .text
259254
@@ -274,10 +269,9 @@ def test_token_with_optional_oauth_params_as_empty(rest_mock: Mocker) -> None:
274269 status_code = 200 ,
275270 request_headers = OAUTH_TEST_HEADERS ,
276271 )
277- assert (
278- RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , audience = "" , resource = "" )._session .headers ["Authorization" ]
279- == f"Bearer { TEST_TOKEN } "
280- )
272+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , audience = "" , resource = "" )
273+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
274+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
281275 assert TEST_AUDIENCE not in mock_request .last_request .text
282276 assert TEST_RESOURCE not in mock_request .last_request .text
283277
@@ -298,9 +292,9 @@ def test_token_with_default_scope(rest_mock: Mocker) -> None:
298292 status_code = 200 ,
299293 request_headers = OAUTH_TEST_HEADERS ,
300294 )
301- assert (
302- RestCatalog ( "rest" , uri = TEST_URI , credential = TEST_CREDENTIALS ) ._session .headers [ "Authorization" ] == f"Bearer { TEST_TOKEN } "
303- )
295+ catalog = RestCatalog ( "rest" , uri = TEST_URI , credential = TEST_CREDENTIALS )
296+ prepared = catalog ._session .prepare_request ( Request ( "GET" , TEST_URI ))
297+ assert prepared . headers [ "Authorization" ] == f"Bearer { TEST_TOKEN } "
304298 assert "catalog" in mock_request .last_request .text
305299
306300
@@ -320,10 +314,9 @@ def test_token_with_custom_scope(rest_mock: Mocker) -> None:
320314 status_code = 200 ,
321315 request_headers = OAUTH_TEST_HEADERS ,
322316 )
323- assert (
324- RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , scope = TEST_SCOPE )._session .headers ["Authorization" ]
325- == f"Bearer { TEST_TOKEN } "
326- )
317+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , scope = TEST_SCOPE )
318+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
319+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
327320 assert TEST_SCOPE in mock_request .last_request .text
328321
329322
@@ -343,14 +336,9 @@ def test_token_200_w_oauth2_server_uri(rest_mock: Mocker) -> None:
343336 status_code = 200 ,
344337 request_headers = OAUTH_TEST_HEADERS ,
345338 )
346- # pylint: disable=W0212
347- assert (
348- RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , ** {OAUTH2_SERVER_URI : OAUTH2_SERVER_URI })._session .headers [
349- "Authorization"
350- ]
351- == f"Bearer { TEST_TOKEN } "
352- )
353- # pylint: enable=W0212
339+ catalog = RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , ** {OAUTH2_SERVER_URI : TEST_OAUTH2_SERVER_URI })
340+ prepared = catalog ._session .prepare_request (Request ("GET" , TEST_URI ))
341+ assert prepared .headers ["Authorization" ] == f"Bearer { TEST_TOKEN } "
354342
355343
356344@pytest .mark .filterwarnings (
@@ -377,7 +365,8 @@ def test_config_200(requests_mock: Mocker) -> None:
377365 RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , warehouse = "s3://some-bucket" )
378366
379367 assert requests_mock .called
380- assert requests_mock .call_count == 2
368+ # The token is fetched for the config request, and again for the catalog session
369+ assert requests_mock .call_count == 3
381370
382371 history = requests_mock .request_history
383372 assert history [1 ].method == "GET"
@@ -2904,7 +2893,10 @@ def test_auth_header(rest_mock: Mocker) -> None:
29042893 )
29052894
29062895 RestCatalog ("rest" , uri = TEST_URI , credential = TEST_CREDENTIALS , audience = "" , resource = "" , ** {"header.Custom" : "Value" })
2907- assert mock_request .last_request .text == "grant_type=client_credentials&client_id=client&client_secret=secret&scope=catalog"
2896+ assert (
2897+ mock_request .last_request .text
2898+ == "grant_type=client_credentials&client_id=client&client_secret=secret_with%3Acolon&scope=catalog"
2899+ )
29082900
29092901
29102902def test_client_version_header (rest_mock : Mocker ) -> None :
0 commit comments