from scripts.slicing import _slice_for_agent def _sample_manifest(): return { "base_ref": "main", "head_ref": "HEAD", "mode": "local", "default_branch": "main", "errors": [], "changed_source_dirs": [], "catalog": [{"type": "aws_s3_bucket"}], "plan_units": [], "module_graph": {}, "trivy_findings": [{"rule": "AVD-1"}], "tflint_findings": [{"rule": "terraform_required_version"}], } def test_aws_bp_slice_includes_tflint(): sliced = _slice_for_agent(_sample_manifest(), "aws-bp") assert sliced["tflint_findings"][0]["rule"] == "terraform_required_version" def test_fsbp_slice_includes_tflint(): sliced = _slice_for_agent(_sample_manifest(), "fsbp") assert sliced["tflint_findings"][0]["rule"] == "terraform_required_version" def test_cis_slice_includes_tflint(): sliced = _slice_for_agent(_sample_manifest(), "cis") assert sliced["tflint_findings"][0]["rule"] == "terraform_required_version" def test_aws_bp_slice_still_includes_trivy(): sliced = _slice_for_agent(_sample_manifest(), "aws-bp") assert sliced["trivy_findings"][0]["rule"] == "AVD-1" def test_consistency_slice_includes_tflint(): sliced = _slice_for_agent(_sample_manifest(), "consistency") assert sliced["tflint_findings"][0]["rule"] == "terraform_required_version" def test_hygiene_slice_includes_tflint_and_omits_trivy(): sliced = _slice_for_agent(_sample_manifest(), "tf-hygiene") assert sliced["tflint_findings"][0]["rule"] == "terraform_required_version" assert "trivy_findings" not in sliced assert "plan_units" in sliced assert "catalog" in sliced assert "changed_source_dirs" in sliced def test_unknown_agent_returns_full_manifest(): sliced = _slice_for_agent(_sample_manifest(), "unknown-agent") assert sliced == _sample_manifest()