繁体   English   中英

使用本地 JSON 进行 GCP 身份验证的单元测试应用程序?

[英]Unit test app using local JSON for GCP authentication?

我想对一些利用 Google Cloud Platfrom 的 FastAPI API 端点进行单元测试,我想编写测试而不使用文件中的os.environ["GOOGLE_APPLICATION_CREDENTIALS"]='path_to_json_file.json'进行身份验证(因为此服务将在云很快)。 有没有办法模拟这个?

您的问题有点不清楚,但您不太可能想在代码中设置GOOGLE_APPLICATION_CREDENTIALS ,部分原因是这个原因。

您应该从环境中设置变量:

GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/key.json
python3 your_code.py

应用程序默认凭据 (ADC) 在 3 个位置查找凭据:

  1. GOOGLE_APPLICATION_DEFAULT环境变量
  2. gcloud application-default login
  3. 计算服务的身份

因此,在代码中显式设置变量会覆盖 #2(不太重要)和 #3(更重要)的可能性。

如果您在运行代码以进行测试等时在代码之外设置变量,则会自动找到凭据并且代码将被验证。

当您因为代码在计算服务(例如 Cloud Run、Compute Engine...)上运行而未设置变量时,ADC 将自动使用该服务的凭据,并且代码将被验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM