fix: HERMES_WEBUI_SKIP_ONBOARDING unconditional + guard against config writes + 10 skipped tests fixed — v0.50.65

Fixes two SKIP_ONBOARDING bugs and eliminates 10 permanently-skipped integration tests.

- SKIP_ONBOARDING=1 now honoured unconditionally (no longer gated on chat_ready)
- apply_onboarding_setup refuses to write config/env files when SKIP_ONBOARDING is set
- TestMediaEndpointIntegration (6) and TestOnboardingGateIntegration (4): collection-time
  skip guards removed; server reachability checked at runtime with fail() not skip()

Tests: 1327 passed, 0 skipped.

Admin merge — self-built PR, Nathan authorized full merge process in session.
This commit is contained in:
nesquena-hermes
2026-04-16 10:19:10 -07:00
committed by GitHub
parent 2efc1fb8e8
commit db1240dde5
6 changed files with 107 additions and 29 deletions

View File

@@ -144,23 +144,20 @@ class TestMediaEndpointUnit(unittest.TestCase):
# ── Integration tests: live server on TEST_PORT ───────────────────────────────
def _server_reachable() -> bool:
try:
urllib.request.urlopen(BASE + "/health", timeout=3)
return True
except Exception:
return False
# No collection-time skip guard — conftest.py starts the server via its
# autouse session fixture BEFORE tests run. A collection-time check always
# sees no server and turns every test into a skip. Instead we assert
# reachability inside setUp() so failures are loud errors, not silent skips.
requires_server = unittest.skipUnless(
_server_reachable(), f"Test server not reachable at {BASE}"
)
@requires_server
class TestMediaEndpointIntegration(unittest.TestCase):
def setUp(self):
try:
urllib.request.urlopen(BASE + "/health", timeout=5)
except Exception as exc:
self.fail(f"Test server at {BASE} is not reachable: {exc}")
def _get(self, path):
try:
with urllib.request.urlopen(BASE + path, timeout=10) as r: