Add small SaaS profile proof

This commit is contained in:
2026-05-23 04:26:28 +02:00
parent 79e4d10b68
commit 6351ebc627
40 changed files with 1696 additions and 54 deletions

View File

@@ -6,6 +6,8 @@ from info_tech_canon.service import (
inspect_canon,
list_models,
list_standards,
profile_graph,
profile_validate,
validate_canon,
)
from info_tech_canon.service import DEFAULT_INFOSPACE_ROOT
@@ -17,10 +19,12 @@ def test_inspect_canon_counts_artifact_kinds() -> None:
assert payload["ok"] is True
assert payload["infospace"]["slug"] == "canon"
assert payload["infospace"]["artifact_count"] == 15
assert payload["infospace"]["artifact_count"] == 29
assert payload["infospace"]["kinds"] == {
"kernel": 2,
"model": 11,
"profile": 1,
"profile-artifact": 13,
"standard": 2,
}
@@ -36,17 +40,33 @@ def test_validate_canon_passes_scaffold() -> None:
assert payload["ok"] is True
assert payload["errors"] == []
assert "warnings" in payload
assert payload["details"]["artifact_count"] == 15
assert payload["details"]["artifact_count"] == 29
def test_graph_exports_relationship_summary() -> None:
payload = artifact_graph()
assert payload["ok"] is True
assert payload["graph"]["node_count"] == 15
assert payload["graph"]["node_count"] == 29
assert payload["graph"]["edge_count"] > 15
def test_small_saas_profile_validates() -> None:
payload = profile_validate("small-saas")
assert payload["ok"] is True
assert payload["errors"] == []
assert payload["details"]["kinds"]["tenant"] == 2
def test_small_saas_profile_graph_exports_slice() -> None:
payload = profile_graph("small-saas")
assert payload["ok"] is True
assert payload["profile"] == "small-saas"
assert "small-saas/service/billing-portal" in payload["graph"]["nodes"]
def test_generators_write_expected_assets(tmp_path) -> None:
root = tmp_path / "infospace"
shutil.copytree(DEFAULT_INFOSPACE_ROOT, root)