test : add edge case tests for _serialize_workflow in routes_json_helpers

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

Nessuno ha ancora preso questa issue.

  • #2243 di @tmdeveloper007 — chiusa senza merge

Valutazione

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

Direzione di ricerca

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.

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

Descrizione

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.

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.