如何为需要客户端 key/secrets 的开源 API 集成构建自动化测试?
How to structure automated tests for open source API integration that requires client key/secrets?
我正在开发一个为 OAuth2 requests/protocols 提供库支持的开源项目。该项目包括有关如何使用各种 API 提供商(Google、LinkedIn、Instagram 等...)实施库的示例
目前这些示例作为独立的文本文件存在,其中包含客户端 ID 和 key/secret:
的变量声明
client_id = 'getThisFromOwnerOfApi'
client_secret = 'getThisFromOwnerOfApi'
...
# build request, send, read response etc...
这些是为了让用户通过他们的客户端手动更新文件 id/secret。然后 运行 将文件保存到本地以查看如何使用该库。
我想重组示例,使它们更实用、更易于维护、更易于使用。每个示例都会附带:
- 一个运行个文件
- 一个测试文件
- 一个配置文件(?)
- 自述文件
最终,我希望示例位于它们自己的目录中,并让项目管道 运行 针对每个示例(如测试文件)自动执行任务,以确保示例是 working/up-to-date .
我的问题是,如何处理 运行 自动化测试的 API 键?
在四处寻找之后,我发现 github 存储库有专门存储敏感数据的地方。可以找到此部分:
github.com/<user>/<repo>/settings/secrets/actions
以及此功能附带的文档:
https://docs.github.com/en/actions/security-guides/encrypted-secrets
就生成这些 id/secrets 而言,除非资源提供者具有允许 public 不受限制地访问某些测试帐户的测试功能,否则项目需要拥有自己的帐户提供商。
我正在开发一个为 OAuth2 requests/protocols 提供库支持的开源项目。该项目包括有关如何使用各种 API 提供商(Google、LinkedIn、Instagram 等...)实施库的示例
目前这些示例作为独立的文本文件存在,其中包含客户端 ID 和 key/secret:
的变量声明client_id = 'getThisFromOwnerOfApi'
client_secret = 'getThisFromOwnerOfApi'
...
# build request, send, read response etc...
这些是为了让用户通过他们的客户端手动更新文件 id/secret。然后 运行 将文件保存到本地以查看如何使用该库。
我想重组示例,使它们更实用、更易于维护、更易于使用。每个示例都会附带:
- 一个运行个文件
- 一个测试文件
- 一个配置文件(?)
- 自述文件
最终,我希望示例位于它们自己的目录中,并让项目管道 运行 针对每个示例(如测试文件)自动执行任务,以确保示例是 working/up-to-date .
我的问题是,如何处理 运行 自动化测试的 API 键?
在四处寻找之后,我发现 github 存储库有专门存储敏感数据的地方。可以找到此部分:
github.com/<user>/<repo>/settings/secrets/actions
以及此功能附带的文档:
https://docs.github.com/en/actions/security-guides/encrypted-secrets
就生成这些 id/secrets 而言,除非资源提供者具有允许 public 不受限制地访问某些测试帐户的测试功能,否则项目需要拥有自己的帐户提供商。