test : add edge case tests for _serialize_workflow in routes_json_helpers
还没有人认领这个 Issue。
- #2243 来自 @tmdeveloper007 —— 已关闭,未合并
评估
调研方向
Read backend/secuscan/routes_json_helpers.py and the existing tests in testing/backend/unit/test_routes_workflow_serialize.py. Add the listed cases for optional fields, enabled coercion, empty steps, and malformed steps, then run that test file. Done means each expected result is covered and the tests pass; the issue notes it is being handled by tmdeveloper007, and linked pull request #2243 is closed and unmerged.
由索引模型根据 Issue 内容生成。
描述
Summary of What Needs to be Done:
The backend/secuscan/routes_json_helpers.py module exposes a _serialize_workflow function that serializes a database workflow row for the frontend API. Existing tests cover the happy path and some edge cases, but several edge cases remain untested: None values for optional fields (created_at, last_run_at, schedule_seconds), empty row with missing keys, and the enabled field coercion.
Changes that Need to be Made:
Add edge case tests (testing/backend/unit/test_routes_workflow_serialize.py):
- _serialize_workflow with None schedule_seconds returns None for schedule_seconds
- _serialize_workflow with None created_at returns None for created_at
- _serialize_workflow with None last_run_at returns None for last_run_at
- _serialize_workflow with missing optional keys does not raise KeyError
- _serialize_workflow converts enabled="0" or enabled=0 to False (bool coercion)
- _serialize_workflow converts enabled="1" or enabled=1 to True (bool coercion)
- _serialize_workflow with empty steps_json returns [] for steps
- _serialize_workflow with malformed steps_json skips invalid steps
Impact that it would Provide:
- Tests the serialization of workflow rows used by the frontend workflow list API
- Documents expected behavior for None and edge-case field values from the database
- Ensures the function is robust against schema variations
- Complements existing tests for _parse_workflow_steps
Note: This task is being handled by tmdeveloper007 — please assign to that account when picking it up.
- 主要语言
- Python
- 星标
- 36
- 派生
- 234
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
utksh1/SecuScan 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 83/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 78/100
-
area:frontend good first issue level:beginner priority:low type:testing
难度 2/5 1-3 小时 新手友好度 76/100
-
area:frontend good first issue level:intermediate priority:low type:testing
难度 2/5 1-3 小时 新手友好度 82/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 1 天内回复
-
comp/desktop P3 type/feature
难度 2/5 1-3 小时 新手友好度 78/100
NousResearch/hermes-agent#154285 ·
维护者通常 1 天内回复
-
docs: qualify copied and custom kubectl debug policy notes可能已有人在做 @nym01 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 78/100
kubescape/cel-admission-library#166 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
SACGF/variantgrid#2804 · 1 条评论 ·
维护者通常 1 天内回复
-
[BUG] HTTP lifecycle dispatch treats a NO_PROXY-only environment as corporate egress and skips the resolve-and-pinned session可能已有人在做 @bodapatisaikrishna 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复