Files
reuse-surface/tests/test_registry.py
tegwick e766f38e6f
Some checks failed
ci / validate-registry (push) Has been cancelled
Complete WP-0006 through WP-0009: registry expansion, catalog, graph, tests
Register six new capabilities (12 total), add searchable catalog UI and graph
explorer, introduce pytest suite with CI fail-on-warnings, and close gap
analysis priorities 13 and 16. WP-0010 remains backlog for network federation.
2026-06-15 02:24:20 +02:00

58 lines
1.5 KiB
Python

from __future__ import annotations
import subprocess
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent
def run_cli(*args: str) -> subprocess.CompletedProcess[str]:
return subprocess.run(
[sys.executable, "-m", "reuse_surface.cli", *args],
cwd=ROOT,
capture_output=True,
text=True,
check=False,
)
def test_validate_passes():
result = run_cli("validate")
assert result.returncode == 0
assert "ok: validated" in result.stdout
def test_validate_relations_clean():
result = run_cli("validate", "--relations", "--fail-on-warnings")
assert result.returncode == 0, result.stderr
def test_query_finds_registry():
result = run_cli("query", "--tag", "registry")
assert result.returncode == 0
assert "capability.registry.register" in result.stdout
def test_federation_compose():
result = run_cli("federation", "compose")
assert result.returncode == 0
assert (ROOT / "registry/indexes/federated.yaml").exists()
def test_export_json():
result = run_cli("export", "--format", "json")
assert result.returncode == 0
assert '"capabilities"' in result.stdout
def test_graph_check_clean():
result = run_cli("graph", "--check", "--fail-on-warnings")
assert result.returncode == 0, result.stderr
def test_catalog_writes_search():
result = run_cli("catalog")
assert result.returncode == 0
assert (ROOT / "docs/catalog/registry.json").exists()
assert (ROOT / "docs/catalog/search.html").exists()