test : add unit tests for make_scan_rate_limiter factory and RateLimitExceeded
Nessuno ha ancora preso questa issue.
- #2276 di @tmdeveloper007 — chiusa senza merge
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 25/100
Direzione di ricerca
Read backend/secuscan/rate_limiter.py and the existing tests under testing/backend/unit to follow the project’s test conventions. Create testing/backend/unit/test_rate_limiter.py and import the helpers directly as specified; use --noconftest for local runs. Cover the factory behavior and RateLimitExceeded cases listed in the issue, then confirm the standalone unit tests pass. The issue says it is being handled by tmdeveloper007 and links a closed, unmerged pull request, so check the current work before starting.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary of What Needs to be Done:
Add unit tests for the make_scan_rate_limiter factory function and RateLimitExceeded exception class in backend/secuscan/rate_limiter.py. These are standalone helpers that do not require a running Redis instance or FastAPI app state.
Changes that Need to be Made:
Create testing/backend/unit/test_rate_limiter.py (standalone unit tests) covering:
-
make_scan_rate_limiter with redis_client=None returns a ScanRateLimiter instance with correct attributes:
- _rate_limit matches the input
- _rate_window matches the input
- _burst_limit matches the input
- _burst_window matches the input
- _redis_failed is False
- _fallback_history is empty dict
-
make_scan_rate_limiter with valid redis client returns ScanRateLimiter with redis set
-
RateLimitExceeded exception:
- Is a subclass of HTTPException
- status_code is 429
- Has a Retry-After header
- Has a descriptive detail message
- Can be instantiated with custom detail
Import from backend.secuscan.rate_limiter directly. Use --noconftest for local runs.
Impact that it would Provide:
- Reliability: Ensures the rate limiter factory and exception are correctly wired
- Testing: Covers an entirely untested module
- Maintainability: Documents the expected factory behavior
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
- Lingua principale
- Python
- Stelle
- 36
- Fork
- 234
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di utksh1/SecuScan
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
-
area:frontend good first issue level:intermediate priority:low type:testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
area:frontend good first issue level:beginner priority:low type:testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Tutte le issue di utksh1/SecuScan
Issue simili
-
[BUG] HTTP lifecycle dispatch treats a NO_PROXY-only environment as corporate egress and skips the resolve-and-pinned sessionForse già presa @bodapatisaikrishna l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
[integration]: NoMacSandboxApertaexternal
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
langchain-ai/docs#7652 ·
I maintainer di solito rispondono entro 1 giorno
-
[oblt-aw][autodoc] Document new e2e-secret-leak-artifacts workflow and update e2e-all leaf listAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
elastic/oblt-aw#2513 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug p2
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
NCAR/CLM-Tutorial#113 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno