feat: fundar plataforma mais humana
This commit is contained in:
55
tests/test_evidence_index.py
Normal file
55
tests/test_evidence_index.py
Normal file
@@ -0,0 +1,55 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from mais_humana.catalog import get_platform
|
||||
from mais_humana.evidence_index import (
|
||||
EvidenceQuery,
|
||||
build_evidence_index,
|
||||
evidence_counts_by_kind,
|
||||
evidence_gap_summary,
|
||||
evidence_markdown,
|
||||
evidence_records_for_human_surface,
|
||||
query_evidence,
|
||||
)
|
||||
from mais_humana.scanner import scan_platform
|
||||
from tests.helpers import make_tmp
|
||||
|
||||
|
||||
class EvidenceIndexTests(unittest.TestCase):
|
||||
def test_index_can_be_queried_by_platform_kind_and_text(self) -> None:
|
||||
root = make_tmp()
|
||||
repo = root / "tudo-para-ia-identity-platform"
|
||||
repo.mkdir()
|
||||
(repo / "README.md").write_text("identity RBAC credentialRef audit trace health readiness", encoding="utf-8")
|
||||
(repo / "src.ts").write_text("export const route = { path: '/identity/health' };\n", encoding="utf-8")
|
||||
scan = scan_platform(root, get_platform("identity"))
|
||||
records = build_evidence_index((scan,))
|
||||
self.assertTrue(records)
|
||||
identity_records = query_evidence(records, EvidenceQuery(platform_id="identity"))
|
||||
self.assertEqual(len(identity_records), len(records))
|
||||
security = query_evidence(records, EvidenceQuery(kind="security"))
|
||||
self.assertTrue(security)
|
||||
text = query_evidence(records, EvidenceQuery(text="health"))
|
||||
self.assertTrue(text)
|
||||
|
||||
def test_index_markdown_and_gap_summary_are_stable(self) -> None:
|
||||
root = make_tmp()
|
||||
repo = root / "tudo-para-ia-business-platform"
|
||||
repo.mkdir()
|
||||
(repo / "README.md").write_text("business invoice entitlement checkout health", encoding="utf-8")
|
||||
scan = scan_platform(root, get_platform("business"))
|
||||
records = build_evidence_index((scan,))
|
||||
counts = evidence_counts_by_kind(records)
|
||||
self.assertTrue(counts)
|
||||
markdown = evidence_markdown(records)
|
||||
self.assertIn("Indice de evidencias", markdown)
|
||||
surface_records = evidence_records_for_human_surface(records)
|
||||
self.assertLessEqual(len(surface_records), len(records))
|
||||
gaps = evidence_gap_summary(records, ("business", "identity"))
|
||||
self.assertTrue(any("identity" in gap for gap in gaps))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user