← Files AI PsychiatryARCHIVED FILE
tests/test_validate_framework.py
1.51 KB · Oct 2, 2026 · 00:30 UTC
import tempfile
import unittest
from pathlib import Path
from scripts.validate_framework import validate, validate_traceability
class ValidatorTests(unittest.TestCase):
def test_validator_rejects_broken_markdown_link(self):
with tempfile.TemporaryDirectory() as folder:
root = Path(folder)
(root / "README.md").write_text("[broken](missing.md)", encoding="utf-8")
codes = {issue.code for issue in validate(root, package_required=False)}
self.assertIn("broken-link", codes)
def test_validator_accepts_repository(self):
root = Path(__file__).resolve().parents[1]
self.assertEqual(validate(root), [])
def test_traceability_validator_rejects_stale_prompt_title(self):
with tempfile.TemporaryDirectory() as folder:
root = Path(folder)
prompt = root / "skills/all-the-medicine/references/skills/install-framework/references/master-prompt.md"
trace = root / ".ai/manifests/prompt-traceability.json"
prompt.parent.mkdir(parents=True)
trace.parent.mkdir(parents=True)
prompt.write_text("# 0. EXACT TITLE\n", encoding="utf-8")
trace.write_text('{"canonical_sha256":"bad","sections":{"0":{"title":"STALE","artifacts":[]}}}', encoding="utf-8")
codes = {issue.code for issue in validate_traceability(root)}
self.assertIn("traceability-stale", codes)
self.assertIn("traceability-hash", codes)
if __name__ == "__main__":
unittest.main()
SHA-256: 98f6d7a9994dc0da5201bc9edde21a9c2de2063d69bdf17639f2aeb3cd3ecb5f