如何使用Cypress测试基于角色的API权限

如何使用Cypress测试基于角色的API权限,cypress,web-api-testing,Cypress,Web Api Testing,我正在尝试使用Cypress测试RESTAPI的用户权限。授权是通过调用另一个API端点生成的JWT令牌完成的。对于列表用户端点,分别为授权用户和未授权用户返回200和401响应 假设SUT有8个角色:角色1、角色2……等等 应允许Role1和Role2访问列表用户端点 如下图所示,我目前已将其设置为可以正确测试Role1是否获得正确响应,但是,我不确定如何对多个角色执行此操作,以便我可以测试Role1和Role2是否获得200,而Role3等是否收到401响应 我想我想将整个测试套件(即所有端

我正在尝试使用Cypress测试RESTAPI的用户权限。授权是通过调用另一个API端点生成的JWT令牌完成的。对于列表用户端点,分别为授权用户和未授权用户返回200和401响应

假设SUT有8个角色:角色1、角色2……等等 应允许Role1和Role2访问列表用户端点

如下图所示,我目前已将其设置为可以正确测试Role1是否获得正确响应,但是,我不确定如何对多个角色执行此操作,以便我可以测试Role1和Role2是否获得200,而Role3等是否收到401响应

我想我想将整个测试套件(即所有端点,而不仅仅是列表用户)包装在一个“角色中的每个角色”循环中,但不知道如何做到这一点,也不确定这是否是最好的方法

任何帮助都将不胜感激

describe('Users - list', () => {
beforeEach(() => {
    cy.request({
        url:'users',
        headers: {
        'Authorization': 'JWT Role1Token'   
      }}).as('response')
})

it('Correct response code is returned', () => {
    cy.get('@response')
    .its('status')
    .should('equal', 200)        
})   
})