PLAN_006 Rate limiting for anonymous users
Description
This test verifies the rate limiting functionality for anonymous 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 100 requests per minute for anonymous users.
Input data
No specific data is needed to perform this test.
Steps
- Send 100 GET requests to the API's root endpoint within a minute.
- Send an additional request within the same minute.
- Observe the response for the additional request.
- Wait for one minute to pass.
- Send a request after the rate limit window has reset.
Expected outcome
- The first 100 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