3562f6f771
---ci--- project: acdl phase: 36 milestone: v1.8 status: execute ---/ci--- - schemas/README.md: how to write schemas, wire into platform, test in CI, dependencies, existing catalog, adding a new schema. - pipelines/README.md: how to write pipeline contracts, wire into workflows, test, dependencies, existing catalog, adding a new pipeline. - adapters/README.md: how to write adapters (Terraform + policy patterns), wire into platform, test, dependencies, existing catalog, adding a new adapter. - tests/test_docs_coverage.py: 6 tests validating all 3 READMEs exist with required sections. Tests: +6 (344 -> 350). All pass.
37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
"""Validate that path documentation READMEs exist and have required sections (REQ-97, 98, 99)."""
|
|
|
|
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
|
|
|
|
class TestDocsCoverage:
|
|
def test_schemas_readme_exists(self):
|
|
assert (ROOT / "schemas" / "README.md").is_file()
|
|
|
|
def test_schemas_readme_has_required_sections(self):
|
|
content = open(ROOT / "schemas" / "README.md").read()
|
|
assert "How to Write a Schema" in content
|
|
assert "How to Wire" in content
|
|
assert "How to Test" in content
|
|
assert "Existing Schemas" in content
|
|
|
|
def test_pipelines_readme_exists(self):
|
|
assert (ROOT / "pipelines" / "README.md").is_file()
|
|
|
|
def test_pipelines_readme_has_required_sections(self):
|
|
content = open(ROOT / "pipelines" / "README.md").read()
|
|
assert "How to Write a Pipeline" in content
|
|
assert "How to Wire" in content
|
|
assert "How to Test" in content
|
|
assert "Existing Pipelines" in content
|
|
|
|
def test_adapters_readme_exists(self):
|
|
assert (ROOT / "adapters" / "README.md").is_file()
|
|
|
|
def test_adapters_readme_has_required_sections(self):
|
|
content = open(ROOT / "adapters" / "README.md").read()
|
|
assert "How to Write an Adapter" in content
|
|
assert "How to Wire" in content
|
|
assert "How to Test" in content
|
|
assert "Existing Adapters" in content |