Add a stateful Proxmox API console and broad handler coverage beyond the
initial QEMU slice, backed by imported contracts for majors 6–9. - Implement durable handlers for access/auth, cluster, LXC, storage, HA, firewall, Ceph, SDN, ACME, notifications, pools, mapping, and node ops - Serve an interactive Web UI with catalog browsing, demo seed controls, and OpenAPI/help surfaces - Bundle PVE 6.4-15, 7.4-16, and 8.4.5 contract revisions alongside 9.2.3 - Support in-memory runtime contract Apply (POST /ui/api/contract/apply) so /version and /api2 routes follow the selected major until restart - Expand seed profiles (including demo-cluster), migrations 007–008, TLS gateway config, Compose/Makefile tooling, and compatibility evidence - Tighten .gitignore for macOS, hidden directories (.*/), and local secrets
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
"""Web asset loading tests."""
|
||||
|
||||
from app.web.assets import console_html
|
||||
|
||||
|
||||
def test_console_html_is_read_from_disk() -> None:
|
||||
html = console_html()
|
||||
assert "Proxmox API Emulator" in html
|
||||
assert 'id="catalog-drawer"' in html
|
||||
assert "catalog-drawer" in html
|
||||
assert 'id="catalog-coverage"' in html
|
||||
assert "Implementation coverage" in html
|
||||
for required_id in (
|
||||
"method-desc",
|
||||
"catalog-meta",
|
||||
"stat-runtime",
|
||||
"stat-catalog",
|
||||
"stat-cluster-name",
|
||||
"stat-nodes",
|
||||
"stat-qemu",
|
||||
"stat-lxc",
|
||||
"implemented-only",
|
||||
"btn-contract-apply",
|
||||
"btn-catalog-refresh",
|
||||
):
|
||||
assert f'id="{required_id}"' in html, required_id
|
||||
assert "Apply as runtime" in html
|
||||
assert "CONTRACT_SNAPSHOT" in html
|
||||
assert 'id="help-drawer"' in html
|
||||
assert 'id="help-badge"' in html
|
||||
assert 'id="data-badge"' in html
|
||||
assert 'id="data-drawer"' in html
|
||||
assert 'id="data-panel"' in html
|
||||
assert 'id="ui-modal"' in html
|
||||
Reference in New Issue
Block a user