Files
cc-ci/tests/matrix-synapse/test_install.py
T
notplantsandClaude Fable 5.1 9a80002b37
continuous-integration/drone/push Build is failing
lint: ruff format + one auto-fix so the push self-test is green again
`scripts/lint.sh --fix` from the pinned lint devshell: 90 Python files
reformatted (ruff format, mechanical) and one C420 (dict comprehension →
dict.fromkeys) in tests/unit/test_f211_sso_skip.py. The push self-test had
been failing at the lint stage since build 1313 (2026-08-31) on exactly
these files; nothing else changed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FqkQq3CDmFWcQ7u1LzoyRz
2026-09-07 21:15:05 +00:00

32 lines
1.5 KiB
Python

"""matrix-synapse — INSTALL overlay (Phase 1d, DG4): override + extend-by-composition.
Reuses the generic "really serving" assertion, then ADDS the recipe-specific checks: the synapse
client API answers 200 over real HTTPS through the gateway, and the client-API version document is
real synapse JSON (proves the app, not just a proxy 200). The base recipe has no browser UI
(element-web is an addon), so the functional assertion is the JSON client API, not Playwright.
Assertion-only on the shared deployment."""
import json
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "runner"))
from harness import generic, lifecycle # noqa: E402
def test_serving_and_client_api(live_app, meta):
# extend-by-composition: reuse the generic "really serving" assertion first ...
generic.assert_serving(live_app, meta)
# ... then the recipe-specific assertions.
# The synapse client API answers 200 over real HTTPS through the gateway (nginx -> synapse).
status = lifecycle.http_get(live_app, "/_matrix/client/versions")
assert status == 200, f"expected 200 from {live_app}/_matrix/client/versions, got {status}"
# The client-API version document is real synapse JSON (proves the app, not just a proxy 200).
body = lifecycle.http_body(live_app, "/_matrix/client/versions")
doc = json.loads(body)
assert isinstance(doc.get("versions"), list) and doc["versions"], (
"no matrix client versions advertised"
)