from scripts.manifest import Manifest, TflintFinding def test_tflint_finding_to_dict(): f = TflintFinding( rule="terraform_unused_declarations", severity="warning", message="variable \"foo\" is declared but not used", file="modules/vpc/variables.tf", start_line=12, end_line=12, link="https://github.com/terraform-linters/tflint-ruleset-terraform/blob/v0.14.1/docs/rules/terraform_unused_declarations.md", ) d = f.to_dict() assert d["rule"] == "terraform_unused_declarations" assert d["source"] == "tflint" def test_manifest_carries_tflint_findings(): m = Manifest( base_ref="main", head_ref="HEAD", mode="local", default_branch="main", changed_source_dirs=[], plan_units=[], catalog=[], trivy_findings=[], tflint_findings=[TflintFinding( rule="terraform_required_version", severity="warning", message="missing required_version", file="main.tf", )], module_graph={}, errors=[], ) d = m.to_dict() assert len(d["tflint_findings"]) == 1 assert d["tflint_findings"][0]["rule"] == "terraform_required_version" assert d["tflint_findings"][0]["source"] == "tflint"