test : add unit tests for _parse_triage_response edge cases in triage_engine

未关闭
#2,259 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

  • #2264 来自 @tmdeveloper007 —— 已关闭,未合并

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
35/100
Issue 类型
功能
描述清晰度
描述清楚
活跃度
停滞
技术栈
python
领域
testing

调研方向

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.

由索引模型根据 Issue 内容生成。

描述

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.

主要语言
Python
星标
36
派生
234
PR 合并指标
30 天内没有已合并 PR

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

utksh1/SecuScan 的其他 Issue

查看 utksh1/SecuScan 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。