使用pytest在REST应用程序中测试权限的最佳方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用pytest在REST应用程序中测试权限的最佳方法是什么?相关的知识,希望对你有一定的参考价值。

我正在尝试使用pytest和Python 3.7自动化基于REST的应用程序。

该应用程序支持3个不同的用户角色(manageradminconsumer),每个用户都有访问数据的限制。

每个用户角色都有不同的用户名和API密钥。

例如,想象一下应用程序有data1data2data3data4data5

  • 使用manager角色用户及其API密钥调用API,您将可以访问从data1data5的所有数据。
  • 使用admin角色用户及其API密钥调用API,您将只能访问data3data4
  • 使用consumer角色用户及其API密钥调用API,您将只能访问data2

应用程序很复杂,但我正在尝试简化应用程序功能。

使用所有这3种不同的用户角色验证REST API的最佳方法是什么,或者使用某些库的任何建议。

答案

如何按角色分解测试:

assert has_access(consumer, data2) is True
assert has_access(consumer, [data1, data3, data4, data5]) is False

随着应用程序变得更加复杂,下一步可能是从基于角色的权限切换到基于操作的权限,即您可以创建data2权限并仅向消费者授予read权限,而不是让消费者完全访问data2

以上是关于使用pytest在REST应用程序中测试权限的最佳方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Paypal REST SDK 最佳实践进行单元/模拟测试

测试 REST API 的最佳方法? [关闭]

编写 Node.js Rest API 的 10 个最佳实践

哪种是对 Spring Boot Rest API 进行端到端测试的最佳方法? [关闭]

Rails Rest API 外部测试

如何在 django-rest-framework 中对权限进行单元测试?