PLAN_007 Rate limiting for authenticated users
Description
This test verifies the rate limiting functionality for authenticated users accessing the REST API.
System requirements
There are no minimum software and hardware requirements to run this test.
Preconditions
- The entire system (including the reverse proxy, REST API, and all upstream services) is deployed, operational, and accessible online.
- All communications with the REST API are conducted over HTTPS, either through a reverse proxy server or directly with the hosting server.
- Rate limit configured to 1000 requests per minute for authenticated users.
Input data
No specific data is needed to perform this test.
Steps
- Log in with valid credentials to obtain an access token.
- Send 1000 requests to the API within one minute using the access token.
- Send an additional request within the same minute using the same access token.
- Observe the response for the additional request.
- Wait for one minute to pass.
- Send a request after the rate limit window has reset using the same access token.
Expected outcome
- The first 1000 requests should succeed with a 200 OK status code.
- The additional request should receive an HTTP 429 Too Many Requests status code with an appropriate error message.
- The request sent after the rate limit window resets should succeed with a 200 OK status code.
Verifies software requirements
- SWR-003
Risk control for
- Preventing denial of service (DoS) attacks.
- Ensuring equitable resource distribution.
Signature meaning
The signatures for the approval process of this document can be found in the verified commits at the repository for the QMS. As a reference, the team members who are expected to participate in this document and their roles in the approval process, as defined in Annex I Responsibility Matrix of the GP-001, are:
- Tester: JD-017, JD-009, JD-004
- Approver: JD-005