21 lines
1.1 KiB
Python
21 lines
1.1 KiB
Python
from pathlib import Path
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
requirements = (ROOT / "requirements-spec.md").read_text()
|
|
architecture = (ROOT / "architecture.md").read_text()
|
|
guide = (ROOT / "solution-architecture-guide.md").read_text()
|
|
terraform = (ROOT / "terraform/main.tf").read_text()
|
|
|
|
required = {
|
|
"requirements": ["Functional requirements", "Non-functional requirements", "Constraints", "Assumptions", "Open questions"],
|
|
"architecture": ["Selected Google Cloud products", "Mermaid diagram", "Architecture description"],
|
|
"guide": ["Validation results", "Repository verification", "Publication verification"],
|
|
"terraform": ["required_providers", "google_cloud_run_v2_service", "google_pubsub_topic"],
|
|
}
|
|
for label, needles in required.items():
|
|
text = {"requirements": requirements, "architecture": architecture, "guide": guide, "terraform": terraform}[label]
|
|
missing = [needle for needle in needles if needle not in text]
|
|
assert not missing, f"{label} missing: {missing}"
|
|
assert "Product selection deferred during this step: **true**" in requirements
|
|
print("artifact structure checks passed")
|