test_q3_desktop_e2e.py python
43 lines 1.5 KB
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 16 hours ago
1 """End-to-end tests for Track Q / Q3 Tauri desktop packaging."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from tests.fixtures.app import AppHttpClient
8 from tests.fixtures.desktop import make_desktop_launcher
9 from tests.support import FIXTURES
10
11 def test_desktop_operator_flow_matches_q1_surface(tmp_path: Path) -> None:
12 launcher = make_desktop_launcher(tmp_path)
13 docs = tmp_path / "docs"
14 (docs / "OVERSEER-HANDOVER.md").write_text(
15 (FIXTURES / "governance-handover-drift.md").read_text(encoding="utf-8"),
16 encoding="utf-8",
17 )
18 (docs / "ROADMAP.md").write_text(
19 (FIXTURES / "governance-roadmap-drift.md").read_text(encoding="utf-8"),
20 encoding="utf-8",
21 )
22
23 try:
24 banner = launcher.start()
25 client = AppHttpClient(banner.url.rstrip("/"), banner.session_credential, banner.csrf_token)
26
27 _status, health = client.get("/api/health")
28 assert health["ok"] is True
29
30 _status, status_payload = client.get("/api/status")
31 assert status_payload["result"]["initialized"] is True
32
33 _status, roadmap = client.get("/api/docs/roadmap")
34 assert roadmap["ok"] is True
35
36 _status, handover = client.get("/api/docs/handover")
37 assert handover["ok"] is True
38
39 _status, sync = client.post("/api/governance-sync", {"write": False})
40 assert "exit_code" in sync
41 assert isinstance(sync.get("result"), dict) or sync.get("error") is not None
42 finally:
43 launcher.stop()
File History 1 commit
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 16 hours ago