refactor(backend): modularize HTML and SARIF report generation#417
refactor(backend): modularize HTML and SARIF report generation#417RohitKattimani wants to merge 5 commits into
Conversation
Refactor HTML report generation to use icon mapping and improve markup structure.
utksh1
left a comment
There was a problem hiding this comment.
Requesting changes. CI is red for backend-lint, backend-tests, and formatting-hygiene, and the diff appears to introduce malformed report HTML plus indentation/decorator issues in reporting.py, including a duplicated closing HTML block and @classmethod indentation outside the class. Please fix the syntax/formatting, keep the refactor behavior-equivalent, and add or run focused report-generation regression tests before re-review.
|
Hi @utksh1 , I've pushed the requested changes. The HTML structure has been restored and verified, the The CI pipeline is now completely green, and the backend regression tests are passing successfully. Thank you for the review! |
|
Current re-review note: backend-lint, backend-tests, and formatting-hygiene are failing. The reporting.py diff also appears to introduce malformed/duplicated report HTML and indentation/decorator issues. Please fix syntax/formatting, keep the refactor behavior-equivalent, and add or run focused report-generation regression tests before re-review. |
|
Hi @utksh1, Thanks for the review! I believe our timing just crossed, and you might have been looking at the previous commit. I've just pushed an update that addresses all of these points:
+Testing: Ran the full regression suite via ./testing/test_python.sh locally to ensure complete behavioral equivalence. The CI pipeline is now fully green on the latest commit. Let me know if everything looks good on your end now! |
|
@utksh1 The CI pipeline is now fully green on the latest commit. Let me know if there are any updates on your end now! |
|
Re-reviewed after the latest push. Still blocked until the report-generation refactor proves output parity: please add focused tests comparing HTML/SARIF output before vs after the modularization and keep the PR limited to refactor-only behavior. |
Refactor HTML report generation to use icon mapping and improve markup structure.
Description
Description
This PR addresses the monolithic structure of the reporting generation methods within
backend/secuscan/reporting.py. Previously, HTML and SARIF report generation handled data parsing, logic, and massive string concatenations in single, multi-purpose blocks, making the code harder to read and maintain.Approach
_build_pdf_finding_markup,_build_web_finding_markup)._extract_sarif_rule_id,_extract_sarif_locations)._generate_pdf_html_report,generate_html_report, andgenerate_sarif_reportto utilize these helpers, significantly reducing their footprint.Linked Issues
Closes #413
Tests Executed
./testing/test_python.sh(All passed)Additional Notes
Related Issues
Type of Change
How Has This Been Tested?
I ran the complete backend test suite to ensure the refactored
ReportGeneratormethods maintain the exact same behavior and do not break any existing reporting workflows or structured outputs.Tests executed:
test_python.shSteps to reproduce:
Checklist