diff --git a/src/core/lib/security/credentials/fake/fake_credentials.c b/src/core/lib/security/credentials/fake/fake_credentials.c index 51cafd986fb89f6196e4d01d123786c4f2d48956..c569259f1bb894658b5dc2436b1c44aef3dcf111 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.c +++ b/src/core/lib/security/credentials/fake/fake_credentials.c @@ -113,9 +113,12 @@ static void md_only_test_get_request_metadata( if (c->is_async) { grpc_credentials_metadata_request *cb_arg = grpc_credentials_metadata_request_create(creds, cb, user_data); - grpc_executor_push( - grpc_closure_create(on_simulated_token_fetch_done, cb_arg), - GRPC_ERROR_NONE); + grpc_timer_init(exec_ctx, &c->timer, + gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), + gpr_time_from_micros(10, GPR_TIMESPAN)), + on_simulated_token_fetch_done, cb_arg, + gpr_now(GPR_CLOCK_MONOTONIC)); + } else { cb(exec_ctx, user_data, c->md_store->entries, 1, GRPC_CREDENTIALS_OK, NULL); } diff --git a/src/core/lib/security/credentials/fake/fake_credentials.h b/src/core/lib/security/credentials/fake/fake_credentials.h index 9cf38084a3df3fdddfa785b1d649d6fef33aee10..15e5cd5e576e6f5e7b555657063c73ba425b2d7d 100644 --- a/src/core/lib/security/credentials/fake/fake_credentials.h +++ b/src/core/lib/security/credentials/fake/fake_credentials.h @@ -34,6 +34,7 @@ #ifndef GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H #define GRPC_CORE_LIB_SECURITY_CREDENTIALS_FAKE_FAKE_CREDENTIALS_H +#include "src/core/lib/iomgr/timer.h" #include "src/core/lib/security/credentials/credentials.h" /* -- Fake transport security credentials. -- */ @@ -50,6 +51,7 @@ grpc_server_credentials *grpc_fake_transport_security_server_credentials_create( typedef struct { grpc_call_credentials base; grpc_credentials_md_store *md_store; + grpc_timer timer; int is_async; } grpc_md_only_test_credentials;