static void test_parse_refresh_token_failure_no_refresh_token(void) { const char refresh_token_str[] = "{ \"client_id\": \"32555999999.apps.googleusercontent.com\"," " \"client_secret\": \"EmssLNjJy1332hD4KFsecret\"," " \"type\": \"authorized_user\"}"; grpc_auth_refresh_token refresh_token = grpc_auth_refresh_token_create_from_string(refresh_token_str); GPR_ASSERT(!grpc_auth_refresh_token_is_valid(&refresh_token)); }
static void test_parse_refresh_token_failure_no_client_secret(void) { const char refresh_token_str[] = "{ \"client_id\": \"32555999999.apps.googleusercontent.com\"," " \"refresh_token\": \"1/Blahblasj424jladJDSGNf-u4Sua3HDA2ngjd42\"," " \"type\": \"authorized_user\"}"; grpc_auth_refresh_token refresh_token = grpc_auth_refresh_token_create_from_string(refresh_token_str); GPR_ASSERT(!grpc_auth_refresh_token_is_valid(&refresh_token)); }
static void test_parse_refresh_token_failure_no_client_id(void) { const char refresh_token_str[] = "{ \"client_secret\": \"EmssLNjJy1332hD4KFsecret\"," " \"refresh_token\": \"1/Blahblasj424jladJDSGNf-u4Sua3HDA2ngjd42\"," " \"type\": \"authorized_user\"}"; grpc_auth_refresh_token refresh_token = grpc_auth_refresh_token_create_from_string(refresh_token_str); GPR_ASSERT(!grpc_auth_refresh_token_is_valid(&refresh_token)); }
grpc_credentials *grpc_google_refresh_token_credentials_create( const char *json_refresh_token, void *reserved) { GRPC_API_TRACE( "grpc_refresh_token_credentials_create(json_refresh_token=%s, " "reserved=%p)", 2, (json_refresh_token, reserved)); GPR_ASSERT(reserved == NULL); return grpc_refresh_token_credentials_create_from_auth_refresh_token( grpc_auth_refresh_token_create_from_string(json_refresh_token)); }
static void test_parse_refresh_token_success(void) { grpc_auth_refresh_token refresh_token = grpc_auth_refresh_token_create_from_string(test_refresh_token_str); GPR_ASSERT(grpc_auth_refresh_token_is_valid(&refresh_token)); GPR_ASSERT(refresh_token.type != NULL && (strcmp(refresh_token.type, "authorized_user") == 0)); GPR_ASSERT(refresh_token.client_id != NULL && (strcmp(refresh_token.client_id, "32555999999.apps.googleusercontent.com") == 0)); GPR_ASSERT( refresh_token.client_secret != NULL && (strcmp(refresh_token.client_secret, "EmssLNjJy1332hD4KFsecret") == 0)); GPR_ASSERT(refresh_token.refresh_token != NULL && (strcmp(refresh_token.refresh_token, "1/Blahblasj424jladJDSGNf-u4Sua3HDA2ngjd42") == 0)); grpc_auth_refresh_token_destruct(&refresh_token); }
grpc_credentials *grpc_refresh_token_credentials_create( const char *json_refresh_token) { grpc_refresh_token_credentials *c; grpc_auth_refresh_token refresh_token = grpc_auth_refresh_token_create_from_string(json_refresh_token); if (!grpc_auth_refresh_token_is_valid(&refresh_token)) { gpr_log(GPR_ERROR, "Invalid input for refresh token credentials creation"); return NULL; } c = gpr_malloc(sizeof(grpc_refresh_token_credentials)); memset(c, 0, sizeof(grpc_refresh_token_credentials)); init_oauth2_token_fetcher(&c->base, refresh_token_fetch_oauth2); c->base.base.vtable = &refresh_token_vtable; c->refresh_token = refresh_token; return &c->base.base; }
grpc_credentials *grpc_refresh_token_credentials_create( const char *json_refresh_token) { return grpc_refresh_token_credentials_create_from_auth_refresh_token( grpc_auth_refresh_token_create_from_string(json_refresh_token)); }
grpc_credentials *grpc_google_refresh_token_credentials_create( const char *json_refresh_token, void *reserved) { GPR_ASSERT(reserved == NULL); return grpc_refresh_token_credentials_create_from_auth_refresh_token( grpc_auth_refresh_token_create_from_string(json_refresh_token)); }