test : add unit tests for _unshare_net_supported in parser_sandbox
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read backend/secuscan/parser_sandbox.py to inspect _unshare_net_supported and its cache globals, then run the pytest command given in the issue. Add testing/backend/unit/test_parser_sandbox_unshare_supported.py with the four mocked platform and probe cases, resetting the cache around each test. Done means all four paths pass in isolation; the issue says tmdeveloper007 is handling it, so confirm availability 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 _unshare_net_supported function in backend/secuscan/parser_sandbox.py. This function probes whether the unshare --user --net system call works on the host, and caches the result to avoid repeated probes.
The function has several distinct code paths that should each be tested:
- Non-Linux platform returns False immediately
unsharebinary not found returns Falseunsharebinary found but probe fails (non-zero exit) returns Falseunsharebinary found and probe succeeds (exit 0) returns True
Changes that Need to be Made:
Create testing/backend/unit/test_parser_sandbox_unshare_supported.py:
- Test non-Linux path by patching
platform.system()to return "Darwin" - Test unshare binary not found by patching
shutil.whichto return None - Test probe failure by patching
subprocess.runto return a non-zero returncode - Test probe success by patching
subprocess.runto return zero returncode - The function uses module-level caching (
_unshare_capability_checked,_unshare_available): each test case needs to reset these globals before and after to ensure test isolation - Import the real production function directly:
from backend.secuscan.parser_sandbox import _unshare_net_supported - Run with
python3 -m pytest testing/backend/unit/test_parser_sandbox_unshare_supported.py -v --noconftest
Impact that it would Provide:
- Tests a code path (capability detection) that is currently completely untested
- Prevents regressions when refactoring the unshare support detection logic
- Ensures the function behaves correctly on different platforms and when the
unsharebinary is unavailable - Uses standard
unittest.mockpatching, no heavy framework dependencies
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