Role Based Access Controller
This document outlines the RBAC policies grouped by access levels. Each section includes a description of the resources, along with the APIs available for that resource.
Access Hierarchy
- Admin:
- Admin has full access, including all permissions granted to User and Reader roles.
- In addition to User and Reader privileges, Admins can perform high-level management tasks such as creating, editing, and deleting projects, runs, update user roles etc.
- User:
- User has access to all permissions available to the Reader role.
- Additionally, Users can manage resources like test cases, runs, and labels.
- Reader:
- Reader has view-only access to resources.
- Can retrieve data such as test details, reports, and project information but cannot modify or delete any resources.
Admin Accesses
The following APIs are accessible to users with the ADMIN
role:
Resource | Endpoint | Action | Description |
---|---|---|---|
AddProjects | api/v1/project/create | POST | Used to add new projects. |
EditProject | api/v1/project/edit | PUT | Edits the details of an existing project. |
EditProjectStatus | api/v1/project/update-status | PUT | Updates the status [Delete/Archive] of a project. |
RunLock | api/v1/run/lock | PUT | Locks a specific run to prevent future changes. |
RunReset | api/v1/run/reset | PUT | Mark the passed tests to reset. |
UpdateUserRole | api/v1/user/update-role | PUT | Updates the role of a user in the system. |
RunRemoveTest | api/v1/run/remove-tests | PUT | Removes a test from a specific run. |
GetAllUser | api/v1/all-users | GET | Retrieves a list of all users in the system. |
DeleteRun | api/v1/run/delete | DELETE | Deletes a specific run. |
User Accesses
The following APIs are accessible to users with the USER
role:
Resource | Endpoint | Methods | Description |
---|---|---|---|
RunUpdateTestStatus | api/v1/run/update-test-status | PUT | Updates the status of a test in a run. |
EditTest | api/v1/test/update | PUT | Edits the details of a specific test. |
EditRun | api/v1/run/edit | PUT | Edits the details of a specific run. |
EditTestsInBulk | api/v1/test/bulk-update | PUT | Edits multiple tests in bulk. |
AddLabels | api/v1/project/add-labels | POST | Adds new labels to the project. |
AddSquads | api/v1/project/add-squads | POST | Adds new squads to the project. |
AddTestBulk | api/v1/test/bulk-add | POST | Bulk adds multiple tests. |
AddRun | api/v1/run/create | POST | Creates a new test run. |
AddTest | api/v1/test/create | POST | Adds a single test to the project. |
AddSection | api/v1/project/add-section | POST | Adds a new section within a project. |
DeleteTest | api/v1/test/delete | DELETE | Deletes a single test. |
DeleteBulkTests | api/v1/test/bulk-delete | DELETE | Deletes multiple tests in bulk. |
Reader Accesses
The following APIs are accessible to users with the READER
role:
Resource | Endpoint | Methods | Description |
---|---|---|---|
DownloadReport | api/v1/run/report-download | GET | Downloads a report of a run. |
DownloadTests | api/v1/tests/download | GET | Downloads a list of tests of a project. |
GetAutomationStatus | api/v1/automation-status | GET | Retrieves the list of autmation types. |
GetLabels | api/v1/labels | GET | Retrieves the list of labels. |
GetPlatforms | api/v1/platform | GET | Retrieves phe list of platfrom types. |
GetPriority | api/v1/priority | GET | Retrieves the list of priority types. |
GetSquads | api/v1/project/squads | GET | Retrieves the list of squads in project. |
GetTestCoveredBy | api/v1/test-covered-by | GET | Retrieves the list of test covered by types. |
GetTestDetails | api/v1/test/details | GET | Retrieves details for a specific test. |
GetRunTestStatus | api/v1/run/test-status | GET | Retrieves the status of a test in a run. |
GetTestStatusHistory | api/v1/test/test-status-history | GET | Retrieves the history of a test’s status across runs. |
GetTestStatusHistoryInRun | api/v1/run/test-status-history | GET | Retrieves the history of a test in a run. |
GetType | api/v1/type | GET | Retrieves the list of types list. |
GetOrgsList | api/v1/orgs | GET | Retrieves the list of organizations. |
GetOrgDetails | api/v1/org/detail | GET | Retrieves details of a specific organization. |
GetProjectDetail | api/v1/project/detail | GET | Retrieves details of a specific project. |
GetProjects | api/v1/projects | GET | Retrieves the list of projects. |
GetRunStateDetail | api/v1/run/state-detail | GET | Retrieves details of a specific run state. |
GetRuns | api/v1/runs | GET | Retrieves a list of runs. |
GetRunTestsList | api/v1/run/tests | GET | Retrieves the list of tests in a run. |
GetSections | api/v1/project/sections | GET | Retrieves the list of sections in a project. |
GetTests | api/v1/project/tests | GET | Retrieves a list of tests. |
GetTestsCount | api/v1/project/tests-count | GET | Retrieves the count of tests. |
GetUserDetails | api/v1/user/details | GET | Retrieves details of a self. |
RunDetail | api/v1/run/detail | GET | Retrieves details of a specific run. |
AddToken | api/v1/token/generate | POST | Adds a self token to the system. |
DeleteToken | api/v1/token/delete | DELETE | Deletes a self token from the system. |