Initial commit: VMware vSphere API simulator scaffold.

Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API
contracts, docs, client examples, and the unit/integration/compatibility
test suite for local client and tooling labs without a real vCenter.
This commit is contained in:
2026-07-18 04:42:11 +03:00
commit f8d3cbdd59
422 changed files with 361335 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
"""vSphere Implementation coverage payload tests."""
from app.vsphere.contracts.compatibility import evidence_ledger, vsphere_compatibility_payload
from app.vsphere.contracts.matrix import VERSIONS, catalog_entries_for_major
from app.vsphere.rest.coverage import catalog_entries
def test_compatibility_payload_matches_matrix() -> None:
universe = len(catalog_entries())
for major in VERSIONS:
payload = vsphere_compatibility_payload(major)
implemented = len(catalog_entries_for_major(major))
assert payload["total_declared"] == universe
assert payload["levels"]["implemented"]["count"] == implemented
assert payload["levels"]["declared"]["count"] == universe
assert payload["levels"]["gated"]["count"] == universe - implemented
assert payload["levels"]["schema_only"]["count"] == universe - implemented
assert payload["summary"]["coverage"] == round(implemented / universe, 4)
assert payload["summary"]["universe_by_verb"]
assert "GET" in payload["summary"]["by_verb"] or implemented == 0
def test_evidence_ledger_includes_levels() -> None:
ledger = evidence_ledger(9)
assert ledger["summary"]["implemented_methods"] == len(catalog_entries())
assert ledger["summary"]["coverage"] == 1.0
assert ledger["levels"]["implemented"]["count"] == ledger["summary"]["universe_methods"]