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

时间:2019-04-13 22:50:01

标签: python-3.x rest api automation pytest

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

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

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

例如,假设应用程序具有data1data2data3data4data5

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

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

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

1 个答案:

答案 0 :(得分:0)

如何按角色细分测试:

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

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