1414
1515import json
1616import os
17+ import warnings
1718
1819import mock
1920import pytest # type: ignore
@@ -398,7 +399,6 @@ def test_load_credentials_from_file_impersonated_passing_scopes():
398399
399400
400401def test_load_credentials_from_file_impersonated_wrong_target_principal (tmpdir ):
401-
402402 with open (IMPERSONATED_SERVICE_ACCOUNT_AUTHORIZED_USER_SOURCE_FILE ) as fh :
403403 impersonated_credentials_info = json .load (fh )
404404 impersonated_credentials_info [
@@ -414,7 +414,6 @@ def test_load_credentials_from_file_impersonated_wrong_target_principal(tmpdir):
414414
415415
416416def test_load_credentials_from_file_impersonated_wrong_source_type (tmpdir ):
417-
418417 with open (IMPERSONATED_SERVICE_ACCOUNT_AUTHORIZED_USER_SOURCE_FILE ) as fh :
419418 impersonated_credentials_info = json .load (fh )
420419 impersonated_credentials_info ["source_credentials" ]["type" ] = "external_account"
@@ -1325,7 +1324,7 @@ def test_default_impersonated_service_account_set_default_scopes(get_adc_path):
13251324 "google.auth._cloud_sdk.get_application_default_credentials_path" , autospec = True
13261325)
13271326def test_default_impersonated_service_account_set_both_scopes_and_default_scopes (
1328- get_adc_path
1327+ get_adc_path ,
13291328):
13301329 get_adc_path .return_value = IMPERSONATED_SERVICE_ACCOUNT_AUTHORIZED_USER_SOURCE_FILE
13311330 scopes = ["scope1" , "scope2" ]
@@ -1410,3 +1409,54 @@ def test_quota_gce_credentials(unused_get, unused_ping):
14101409 quota_project_id = explicit_quota
14111410 )
14121411 assert credentials .quota_project_id == explicit_quota
1412+
1413+
1414+ def test_load_credentials_from_file_deprecation_warning ():
1415+ with pytest .warns (
1416+ DeprecationWarning , match = "The load_credentials_from_file method is deprecated"
1417+ ):
1418+ _default .load_credentials_from_file (SERVICE_ACCOUNT_FILE )
1419+
1420+
1421+ def test_load_credentials_from_dict_deprecation_warning ():
1422+ with pytest .warns (
1423+ DeprecationWarning , match = "The load_credentials_from_dict method is deprecated"
1424+ ):
1425+ _default .load_credentials_from_dict (SERVICE_ACCOUNT_FILE_DATA )
1426+
1427+
1428+ @mock .patch ("google.auth._cloud_sdk.get_project_id" , return_value = None , autospec = True )
1429+ @mock .patch ("os.path.isfile" , return_value = True , autospec = True )
1430+ @mock .patch (
1431+ "google.auth._cloud_sdk.get_application_default_credentials_path" ,
1432+ return_value = SERVICE_ACCOUNT_FILE ,
1433+ autospec = True ,
1434+ )
1435+ def test_get_gcloud_sdk_credentials_suppresses_deprecation_warning (
1436+ get_adc_path , isfile , get_project_id
1437+ ):
1438+ with warnings .catch_warnings (record = True ) as caught_warnings :
1439+ warnings .simplefilter ("always" )
1440+
1441+ _default ._get_gcloud_sdk_credentials ()
1442+
1443+ assert not any (
1444+ isinstance (w .message , DeprecationWarning )
1445+ and "load_credentials_from_file" in str (w .message )
1446+ for w in caught_warnings
1447+ )
1448+
1449+
1450+ def test_get_explicit_environ_credentials_suppresses_deprecation_warning (monkeypatch ):
1451+ monkeypatch .setenv (environment_vars .CREDENTIALS , SERVICE_ACCOUNT_FILE )
1452+
1453+ with warnings .catch_warnings (record = True ) as caught_warnings :
1454+ warnings .simplefilter ("always" )
1455+
1456+ _default ._get_explicit_environ_credentials ()
1457+
1458+ assert not any (
1459+ isinstance (w .message , DeprecationWarning )
1460+ and "load_credentials_from_file" in str (w .message )
1461+ for w in caught_warnings
1462+ )
0 commit comments