Merge branch 'httpcli_override_uri' into gcp_service_account_identity_call_creds

pull/37544/head
Mark D. Roth 7 months ago
commit 0c759bbbe3
  1. 78
      test/core/security/credentials_test.cc

@ -707,7 +707,7 @@ TEST(CredentialsTest, TestChannelOauth2GoogleIamCompositeCreds) {
}
void validate_compute_engine_http_request(const grpc_http_request* request,
const grpc_core::URI& uri) {
const URI& uri) {
EXPECT_EQ(uri.authority(), "metadata.google.internal.");
EXPECT_EQ(uri.path(),
"/computeMetadata/v1/instance/service-accounts/default/token");
@ -717,9 +717,8 @@ void validate_compute_engine_http_request(const grpc_http_request* request,
}
int compute_engine_httpcli_get_success_override(
const grpc_http_request* request, const grpc_core::URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
const grpc_http_request* request, const URI& uri, Timestamp /*deadline*/,
grpc_closure* on_done, grpc_http_response* response) {
validate_compute_engine_http_request(request, uri);
*response = http_response(200, valid_oauth2_json_response);
ExecCtx::Run(DEBUG_LOCATION, on_done, absl::OkStatus());
@ -727,9 +726,8 @@ int compute_engine_httpcli_get_success_override(
}
int compute_engine_httpcli_get_failure_override(
const grpc_http_request* request, const grpc_core::URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
const grpc_http_request* request, const URI& uri, Timestamp /*deadline*/,
grpc_closure* on_done, grpc_http_response* response) {
validate_compute_engine_http_request(request, uri);
*response = http_response(403, "Not Authorized.");
ExecCtx::Run(DEBUG_LOCATION, on_done, absl::OkStatus());
@ -737,7 +735,7 @@ int compute_engine_httpcli_get_failure_override(
}
int httpcli_post_should_not_be_called(const grpc_http_request* /*request*/,
const grpc_core::URI& /*uri*/,
const URI& /*uri*/,
absl::string_view /*body*/,
Timestamp /*deadline*/,
grpc_closure* /*on_done*/,
@ -747,8 +745,7 @@ int httpcli_post_should_not_be_called(const grpc_http_request* /*request*/,
}
int httpcli_get_should_not_be_called(const grpc_http_request* /*request*/,
const grpc_core::URI& /*uri*/,
Timestamp /*deadline*/,
const URI& /*uri*/, Timestamp /*deadline*/,
grpc_closure* /*on_done*/,
grpc_http_response* /*response*/) {
CHECK(false) << "HTTP GET should not be called";
@ -756,7 +753,7 @@ int httpcli_get_should_not_be_called(const grpc_http_request* /*request*/,
}
int httpcli_put_should_not_be_called(const grpc_http_request* /*request*/,
const grpc_core::URI& /*uri*/,
const URI& /*uri*/,
absl::string_view /*body*/,
Timestamp /*deadline*/,
grpc_closure* /*on_done*/,
@ -822,7 +819,7 @@ TEST(CredentialsTest, TestComputeEngineCredsFailure) {
}
void validate_refresh_token_http_request(const grpc_http_request* request,
const grpc_core::URI& uri,
const URI& uri,
absl::string_view body) {
// The content of the assertion is tested extensively in json_token_test.
EXPECT_EQ(body, absl::StrFormat(GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING,
@ -838,8 +835,7 @@ void validate_refresh_token_http_request(const grpc_http_request* request,
}
int refresh_token_httpcli_post_success(const grpc_http_request* request,
const grpc_core::URI& uri,
absl::string_view body,
const URI& uri, absl::string_view body,
Timestamp /*deadline*/,
grpc_closure* on_done,
grpc_http_response* response) {
@ -850,8 +846,7 @@ int refresh_token_httpcli_post_success(const grpc_http_request* request,
}
int token_httpcli_post_failure(const grpc_http_request* /*request*/,
const grpc_core::URI& /*uri*/,
absl::string_view /*body*/,
const URI& /*uri*/, absl::string_view /*body*/,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
*response = http_response(403, "Not Authorized.");
@ -1022,8 +1017,7 @@ void assert_query_parameters(const URI& uri, absl::string_view expected_key,
}
void validate_sts_token_http_request(const grpc_http_request* request,
const grpc_core::URI& uri,
absl::string_view body,
const URI& uri, absl::string_view body,
bool expect_actor_token) {
// Check that the body is constructed properly.
std::string get_url_equivalent =
@ -1061,8 +1055,7 @@ void validate_sts_token_http_request(const grpc_http_request* request,
}
int sts_token_httpcli_post_success(const grpc_http_request* request,
const grpc_core::URI& uri,
absl::string_view body,
const URI& uri, absl::string_view body,
Timestamp /*deadline*/,
grpc_closure* on_done,
grpc_http_response* response) {
@ -1073,8 +1066,8 @@ int sts_token_httpcli_post_success(const grpc_http_request* request,
}
int sts_token_httpcli_post_success_no_actor_token(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body, Timestamp /*deadline*/, grpc_closure* on_done,
const grpc_http_request* request, const URI& uri, absl::string_view body,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
validate_sts_token_http_request(request, uri, body, false);
*response = http_response(200, valid_sts_json_response);
@ -1613,7 +1606,7 @@ TEST(CredentialsTest, TestGoogleDefaultCredsExternalAccountCredentialsPscIam) {
}
int default_creds_metadata_server_detection_httpcli_get_success_override(
const grpc_http_request* /*request*/, const grpc_core::URI& uri,
const grpc_http_request* /*request*/, const URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
*response = http_response(200, "");
@ -1701,7 +1694,7 @@ TEST(CredentialsTest, TestGoogleDefaultCredsNonGce) {
}
int default_creds_gce_detection_httpcli_get_failure_override(
const grpc_http_request* /*request*/, const grpc_core::URI& uri,
const grpc_http_request* /*request*/, const URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
// No magic header.
@ -2119,7 +2112,7 @@ TEST(CredentialsTest, TestAuthMetadataContext) {
}
void validate_external_account_creds_token_exchage_request(
const grpc_http_request* request, const grpc_core::URI& request_uri,
const grpc_http_request* request, const URI& request_uri,
absl::string_view body) {
// Check that the body is constructed properly.
std::string get_url_equivalent =
@ -2151,8 +2144,7 @@ void validate_external_account_creds_token_exchage_request(
}
void validate_external_account_creds_token_exchage_request_with_url_encode(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body) {
const grpc_http_request* request, const URI& uri, absl::string_view body) {
// Check that the body is constructed properly.
EXPECT_EQ(
body,
@ -2175,8 +2167,7 @@ void validate_external_account_creds_token_exchage_request_with_url_encode(
}
void validate_external_account_creds_service_account_impersonation_request(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body) {
const grpc_http_request* request, const URI& uri, absl::string_view body) {
// Check that the body is constructed properly.
EXPECT_EQ(body, "scope=scope_1%20scope_2&lifetime=3600s");
// Check the rest of the request.
@ -2192,8 +2183,7 @@ void validate_external_account_creds_service_account_impersonation_request(
}
void validate_external_account_creds_serv_acc_imp_custom_lifetime_request(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body) {
const grpc_http_request* request, const URI& uri, absl::string_view body) {
// Check that the body is constructed properly.
EXPECT_EQ(body, "scope=scope_1%20scope_2&lifetime=1800s");
// Check the rest of the request.
@ -2209,8 +2199,8 @@ void validate_external_account_creds_serv_acc_imp_custom_lifetime_request(
}
int external_acc_creds_serv_acc_imp_custom_lifetime_httpcli_post_success(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body, Timestamp /*deadline*/, grpc_closure* on_done,
const grpc_http_request* request, const URI& uri, absl::string_view body,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/token") {
validate_external_account_creds_token_exchage_request(request, uri, body);
@ -2228,8 +2218,8 @@ int external_acc_creds_serv_acc_imp_custom_lifetime_httpcli_post_success(
}
int external_account_creds_httpcli_post_success(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body, Timestamp /*deadline*/, grpc_closure* on_done,
const grpc_http_request* request, const URI& uri, absl::string_view body,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/token") {
validate_external_account_creds_token_exchage_request(request, uri, body);
@ -2252,7 +2242,7 @@ int external_account_creds_httpcli_post_success(
}
int external_account_creds_httpcli_post_failure_token_exchange_response_missing_access_token(
const grpc_http_request* /*request*/, const grpc_core::URI& uri,
const grpc_http_request* /*request*/, const URI& uri,
absl::string_view /*body*/, Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/token") {
@ -2270,7 +2260,7 @@ int external_account_creds_httpcli_post_failure_token_exchange_response_missing_
}
int url_external_account_creds_httpcli_get_success(
const grpc_http_request* /*request*/, const grpc_core::URI& uri,
const grpc_http_request* /*request*/, const URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/generate_subject_token_format_text") {
@ -2291,7 +2281,7 @@ int url_external_account_creds_httpcli_get_success(
}
void validate_aws_external_account_creds_token_exchage_request(
const grpc_http_request* request, const grpc_core::URI& request_uri,
const grpc_http_request* request, const URI& request_uri,
absl::string_view body) {
// Check that the regional_cred_verification_url got constructed
// with the correct AWS Region ("test_regionz" or "test_region").
@ -2327,7 +2317,7 @@ void validate_aws_external_account_creds_token_exchage_request(
}
int aws_external_account_creds_httpcli_get_success(
const grpc_http_request* /*request*/, const grpc_core::URI& uri,
const grpc_http_request* /*request*/, const URI& uri,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/region_url") {
@ -2345,8 +2335,8 @@ int aws_external_account_creds_httpcli_get_success(
}
int aws_imdsv2_external_account_creds_httpcli_get_success(
const grpc_http_request* request, const grpc_core::URI& uri,
Timestamp deadline, grpc_closure* on_done, grpc_http_response* response) {
const grpc_http_request* request, const URI& uri, Timestamp deadline,
grpc_closure* on_done, grpc_http_response* response) {
EXPECT_EQ(request->hdr_count, 1);
if (request->hdr_count == 1) {
EXPECT_EQ(absl::string_view(request->hdrs[0].key),
@ -2359,7 +2349,7 @@ int aws_imdsv2_external_account_creds_httpcli_get_success(
}
int aws_imdsv2_external_account_creds_httpcli_put_success(
const grpc_http_request* request, const grpc_core::URI& uri,
const grpc_http_request* request, const URI& uri,
absl::string_view /*body*/, Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
EXPECT_EQ(request->hdr_count, 1);
@ -2375,8 +2365,8 @@ int aws_imdsv2_external_account_creds_httpcli_put_success(
}
int aws_external_account_creds_httpcli_post_success(
const grpc_http_request* request, const grpc_core::URI& uri,
absl::string_view body, Timestamp /*deadline*/, grpc_closure* on_done,
const grpc_http_request* request, const URI& uri, absl::string_view body,
Timestamp /*deadline*/, grpc_closure* on_done,
grpc_http_response* response) {
if (uri.path() == "/token") {
validate_aws_external_account_creds_token_exchage_request(request, uri,

Loading…
Cancel
Save