← Về thư mục
scripts/test_check_compliance_report.py
- _valid_sr_report · function · L14-L59 — def _valid_sr_report() -> dict
- _valid_primary_report · function · L62-L88 — def _valid_primary_report() -> dict
- _run · function · L91-L92 — def _run(path: Path) -> subprocess.CompletedProcess
- _write · function · L95-L96 — def _write(path: Path, data: dict) -> None
- _run_with · function · L99-L104 — def _run_with(report: dict) -> subprocess.CompletedProcess
- TestComplianceReportValidator · class · L107-L377 — class TestComplianceReportValidator(unittest.TestCase)
- test_valid_sr_report_passes · method · L108-L110 — def test_valid_sr_report_passes(self) -> None
- test_valid_primary_report_passes · method · L112-L114 — def test_valid_primary_report_passes(self) -> None
- test_missing_required_field_fails · method · L116-L121 — def test_missing_required_field_fails(self) -> None
- test_invalid_mode_enum_fails · method · L123-L127 — def test_invalid_mode_enum_fails(self) -> None
- test_invalid_stage_enum_fails · method · L129-L133 — def test_invalid_stage_enum_fails(self) -> None
- test_primary_with_populated_prisma_trAIce_fails · method · L135-L141 — def test_primary_with_populated_prisma_trAIce_fails(self) -> None: # Schema enforces: mode=primary_research implies prisma_trAIce is null. # This cross-field rule was added when hardening the schema per code review.
- test_sr_with_null_prisma_trAIce_fails · method · L143-L148 — def test_sr_with_null_prisma_trAIce_fails(self) -> None: # Cross-field rule: systematic_review requires prisma_trAIce object.
- test_raise_full_without_roles_fails · method · L150-L155 — def test_raise_full_without_roles_fails(self) -> None: # Cross-field rule: raise.mode=full requires roles.
- test_invalid_scope_pattern_fails · method · L157-L167 — def test_invalid_scope_pattern_fails(self) -> None: # user_override.scope must match PRISMA-trAIce IDs or RAISE principles.
- test_extra_top_level_property_fails · method · L169-L174 — def test_extra_top_level_property_fails(self) -> None: # additionalProperties: false on top-level rejects typos.
- test_user_override_missing_rationale_fails · method · L176-L185 — def test_user_override_missing_rationale_fails(self) -> None
- test_user_override_empty_scope_fails · method · L187-L196 — def test_user_override_empty_scope_fails(self) -> None
- test_valid_override_with_real_ids_passes · method · L198-L208 — def test_valid_override_with_real_ids_passes(self) -> None: # Positive: scope containing real PRISMA-trAIce IDs and RAISE principle names.
- test_invalid_generated_at_format_fails · method · L212-L217 — def test_invalid_generated_at_format_fails(self) -> None
- test_invalid_override_timestamp_format_fails · method · L219-L229 — def test_invalid_override_timestamp_format_fails(self) -> None
- test_items_total_not_17_fails · method · L231-L236 — def test_items_total_not_17_fails(self) -> None
- test_invalid_decision_enum_fails · method · L238-L243 — def test_invalid_decision_enum_fails(self) -> None
- test_invalid_principle_status_enum_fails · method · L245-L250 — def test_invalid_principle_status_enum_fails(self) -> None
- test_ca3_all_17_pass_empty_evidence_warns · method · L252-L259 — def test_ca3_all_17_pass_empty_evidence_warns(self) -> None
- test_ca3_mandatory_only_pass_does_not_warn · method · L261-L269 — def test_ca3_mandatory_only_pass_does_not_warn(self) -> None
- test_ca4_principle_pass_no_evidence_warns · method · L271-L277 — def test_ca4_principle_pass_no_evidence_warns(self) -> None
- test_protocol_maturity_omitted_passes · method · L281-L287 — def test_protocol_maturity_omitted_passes(self) -> None
- test_protocol_maturity_valid_shape_passes · method · L289-L307 — def test_protocol_maturity_valid_shape_passes(self) -> None
- test_protocol_maturity_invalid_status_enum_fails · method · L309-L320 — def test_protocol_maturity_invalid_status_enum_fails(self) -> None
- test_protocol_maturity_missing_required_subfield_fails · method · L322-L338 — def test_protocol_maturity_missing_required_subfield_fails(self) -> None
- test_missing_maturity_warning_off_by_default · method · L340-L362 — def test_missing_maturity_warning_off_by_default(self) -> None
- test_missing_maturity_warning_opt_in · method · L364-L377 — def test_missing_maturity_warning_opt_in(self) -> None