from app.services.processing import ProcessingOptions, filter_records, sort_records def test_filter_records_supports_case_insensitive_filters(): records = [ {"policy": "ProdPolicy", "severity_level": "HIGH"}, {"policy": "OtherPolicy", "severity_level": "low"}, ] options = ProcessingOptions( policy_cs="", policy_ci="prod", severity_cs="", severity_ci="high", sort_by="datetime", order="asc", mode="vendor", ) filtered = filter_records(records, options) assert filtered == [{"policy": "ProdPolicy", "severity_level": "HIGH"}] def test_sort_records_by_severity_desc_uses_defined_ranking(): records = [ {"severity_level": "medium"}, {"severity_level": "critical"}, {"severity_level": "info"}, ] options = ProcessingOptions( policy_cs="", policy_ci="", severity_cs="", severity_ci="", sort_by="severity", order="desc", mode="vendor", ) sorted_records = sort_records(records, options) assert [record["severity_level"] for record in sorted_records] == [ "critical", "medium", "info", ]