feat: add README document contract

This commit is contained in:
DongHyeonka
2026-07-29 18:23:34 +09:00
parent a5ba640492
commit 332762b94f
7 changed files with 56 additions and 0 deletions
+18
View File
@@ -4,7 +4,11 @@ import json
import unittest
from pathlib import Path
import jsonschema
from claridoc.models import Brief, Outline, PipelineConfig, SourcePack
from claridoc.structures import create_outline
from tests.helpers import brief_dict, make_sources
ROOT = Path(__file__).resolve().parents[1]
@@ -57,6 +61,20 @@ class SchemaTests(unittest.TestCase):
outline = Outline.from_dict(sample)
self.assertEqual(outline.sections[0].intent, "promise")
def test_readme_is_accepted_by_brief_and_outline_schemas(self) -> None:
brief_data = brief_dict("readme")
brief_schema = json.loads(
(ROOT / "schemas" / "brief.schema.json").read_text(encoding="utf-8")
)
outline_schema = json.loads(
(ROOT / "schemas" / "outline.schema.json").read_text(encoding="utf-8")
)
jsonschema.Draft202012Validator(brief_schema).validate(brief_data)
brief = Brief.from_dict(brief_data)
outline = create_outline(brief, make_sources())
jsonschema.Draft202012Validator(outline_schema).validate(outline.to_dict())
if __name__ == "__main__":
unittest.main()