test : add unit tests for _parse_triage_response edge cases in triage_engine

Aperta
#2,259 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

  • #2264 di @tmdeveloper007 — chiusa senza merge

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python
Ambito
testing

Direzione di ricerca

Read backend/secuscan/triage_engine.py and the existing triage_finding integration tests, then add the requested cases in testing/backend/unit/test_triage_engine_parse.py. Run the new unit tests and confirm they cover verdicts, malformed and fenced JSON, confidence clamping, optional fields, and preservation of extra fields. A linked pull request is already closed and unmerged, so check its history before taking up the work.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary of What Needs to be Done:
Write unit tests for _parse_triage_response in backend/secuscan/triage_engine.py covering edge cases not exercised by the existing triage_finding integration tests. The function parses LLM JSON responses into structured verdict dicts.

Changes that Need to be Made:
Create a new file: testing/backend/unit/test_triage_engine_parse.py

Import _parse_triage_response from backend.secuscan.triage_engine and test:

  • Valid verdict: true_positive, false_positive, needs_review
  • Unrecognized verdict returns None
  • Invalid JSON returns None
  • Confidence values: within range, below 0 (clamped to 0), above 1 (clamped to 1)
  • Missing optional fields (reasoning, remediation)
  • Extra unexpected fields are preserved in output
  • Markdown-fenced JSON is accepted

Impact that it would Provide:
Tests guard against regressions in LLM response parsing. Confidence clamping edge cases prevent out-of-range values from propagating. Tests the full range of valid verdicts not explicitly covered by triage_finding integration tests.

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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di utksh1/SecuScan

Tutte le issue di utksh1/SecuScan

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.