From a72c8ebb7def13a317a1afc7c08455388d1fa2e4 Mon Sep 17 00:00:00 2001 From: Yash Tibrewal Date: Fri, 18 Feb 2022 11:30:13 -0800 Subject: [PATCH] CredentialsTest: Fix TestGoogleDefaultCredsExternalAccountCredentials (#28923) --- test/core/security/credentials_test.cc | 29 ++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/test/core/security/credentials_test.cc b/test/core/security/credentials_test.cc index 1c7d2945dfd..b243e652268 100644 --- a/test/core/security/credentials_test.cc +++ b/test/core/security/credentials_test.cc @@ -114,9 +114,11 @@ static const char test_refresh_token_str[] = static const char test_external_account_credentials_str[] = "{\"type\":\"external_account\",\"audience\":\"audience\",\"subject_" "token_type\":\"subject_token_type\",\"service_account_impersonation_" - "url\":\"\",\"token_url\":\"https://" + "url\":\"https://iamcredentials.googleapis.com:5555/" + "service_account_impersonation_url\",\"token_url\":\"https://" "sts.googleapis.com:5555/" - "token\",\"token_info_url\":\"\",\"credential_source\":{\"file\":" + "token\",\"token_info_url\":\"https://sts.googleapis.com:5555/" + "token_info\",\"credential_source\":{\"file\":" "\"credentials_file_path\"}," "\"quota_project_id\":\"quota_" "project_id\",\"client_id\":\"client_id\",\"client_secret\":\"client_" @@ -1485,6 +1487,8 @@ static bool test_gce_tenancy_checker(void) { return g_test_is_on_gce; } +static std::string null_well_known_creds_path_getter(void) { return ""; } + TEST(CredentialsTest, TestGoogleDefaultCredsAuthKey) { grpc_core::ExecCtx exec_ctx; grpc_composite_channel_credentials* creds; @@ -1495,6 +1499,8 @@ TEST(CredentialsTest, TestGoogleDefaultCredsAuthKey) { g_test_is_on_gce = true; set_google_default_creds_env_var_with_file_contents( "json_key_google_default_creds", json_key); + grpc_override_well_known_credentials_path_getter( + null_well_known_creds_path_getter); gpr_free(json_key); creds = reinterpret_cast( grpc_google_default_credentials_create(nullptr)); @@ -1512,6 +1518,7 @@ TEST(CredentialsTest, TestGoogleDefaultCredsAuthKey) { GPR_ASSERT(g_test_gce_tenancy_checker_called == false); creds->Unref(); gpr_setenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR, ""); /* Reset. */ + grpc_override_well_known_credentials_path_getter(nullptr); } TEST(CredentialsTest, TestGoogleDefaultCredsRefreshToken) { @@ -1520,6 +1527,8 @@ TEST(CredentialsTest, TestGoogleDefaultCredsRefreshToken) { grpc_flush_cached_google_default_credentials(); set_google_default_creds_env_var_with_file_contents( "refresh_token_google_default_creds", test_refresh_token_str); + grpc_override_well_known_credentials_path_getter( + null_well_known_creds_path_getter); creds = reinterpret_cast( grpc_google_default_credentials_create(nullptr)); auto* default_creds = @@ -1533,6 +1542,7 @@ TEST(CredentialsTest, TestGoogleDefaultCredsRefreshToken) { "32555999999.apps.googleusercontent.com") == 0); creds->Unref(); gpr_setenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR, ""); /* Reset. */ + grpc_override_well_known_credentials_path_getter(nullptr); } TEST(CredentialsTest, TestGoogleDefaultCredsExternalAccountCredentials) { @@ -1542,6 +1552,8 @@ TEST(CredentialsTest, TestGoogleDefaultCredsExternalAccountCredentials) { set_google_default_creds_env_var_with_file_contents( "google_default_creds_external_account_credentials", test_external_account_credentials_str); + grpc_override_well_known_credentials_path_getter( + null_well_known_creds_path_getter); creds = reinterpret_cast( grpc_google_default_credentials_create(nullptr)); auto* default_creds = @@ -1554,6 +1566,7 @@ TEST(CredentialsTest, TestGoogleDefaultCredsExternalAccountCredentials) { GPR_ASSERT(external != nullptr); creds->Unref(); gpr_setenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR, ""); /* Reset. */ + grpc_override_well_known_credentials_path_getter(nullptr); } TEST(CredentialsTest, @@ -1562,8 +1575,10 @@ TEST(CredentialsTest, grpc_composite_channel_credentials* creds; grpc_flush_cached_google_default_credentials(); set_google_default_creds_env_var_with_file_contents( - "google_default_creds_external_account_credentials", + "google_default_creds_external_account_credentials_multi_pattern_sts", test_external_account_credentials_multi_pattern_sts_str); + grpc_override_well_known_credentials_path_getter( + null_well_known_creds_path_getter); creds = reinterpret_cast( grpc_google_default_credentials_create(nullptr)); auto* default_creds = @@ -1576,6 +1591,7 @@ TEST(CredentialsTest, GPR_ASSERT(external != nullptr); creds->Unref(); gpr_setenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR, ""); /* Reset. */ + grpc_override_well_known_credentials_path_getter(nullptr); } TEST(CredentialsTest, @@ -1584,8 +1600,10 @@ TEST(CredentialsTest, grpc_composite_channel_credentials* creds; grpc_flush_cached_google_default_credentials(); set_google_default_creds_env_var_with_file_contents( - "google_default_creds_external_account_credentials", + "google_default_creds_external_account_credentials_multi_pattern_iam", test_external_account_credentials_multi_pattern_iam_str); + grpc_override_well_known_credentials_path_getter( + null_well_known_creds_path_getter); creds = reinterpret_cast( grpc_google_default_credentials_create(nullptr)); auto* default_creds = @@ -1598,6 +1616,7 @@ TEST(CredentialsTest, GPR_ASSERT(external != nullptr); creds->Unref(); gpr_setenv(GRPC_GOOGLE_CREDENTIALS_ENV_VAR, ""); /* Reset. */ + grpc_override_well_known_credentials_path_getter(nullptr); } static int default_creds_metadata_server_detection_httpcli_get_success_override( @@ -1617,8 +1636,6 @@ static int default_creds_metadata_server_detection_httpcli_get_success_override( return 1; } -static std::string null_well_known_creds_path_getter(void) { return ""; } - TEST(CredentialsTest, TestGoogleDefaultCredsGce) { grpc_core::ExecCtx exec_ctx; std::map emd = {