test(matrix): make the 502 SVG fixture actually embed "403"

The inherited fixture coordinate "40.4302" does not contain the substring
"403" (the dot splits it), so the old substring classifier also passed on
it and the case proved nothing. Use a coordinate that genuinely embeds the
digits so the test is red on the pre-fix classifier.
This commit is contained in:
kshitijk4poor
2026-09-14 23:18:37 +05:30
committed by kshitij
parent d5430fb0c1
commit 257288ede1
2 changed files with 3 additions and 3 deletions

View File

@@ -209,7 +209,7 @@ def _is_permanent_matrix_auth_error(exc: BaseException) -> bool:
A transient homeserver outage surfaces as a 5xx whose body may be an HTML
error page (Umbrel's app-proxy returns one). Naive substring checks like
``"403" in str(exc)`` false-positive on digits embedded in that HTML (an SVG
coordinate such as ``40.4302`` contains ``403``) or in the ``since`` token
path coordinate such as ``1403.2`` contains ``403``) or in the ``since`` token
echoed by a timeout message, which stopped the sync loop permanently on a
passing blip. mautrix raises ``MatrixRequestError`` with ``errcode`` and
``http_status`` for every non-2xx, so classify on those alone; anything

View File

@@ -1375,9 +1375,9 @@ class TestMatrixSyncLoop:
@pytest.mark.parametrize(
"exc",
[
# Umbrel app-proxy 502: the SVG coordinate 40.4302 embeds "403".
# Umbrel app-proxy 502: an SVG path coordinate embeds "403".
_sync_error.__func__(
'502: <!DOCTYPE html><svg><path d="M17.4517 40.4302C12.7214 40.4302"/></svg>',
'502: <!DOCTYPE html><svg><path d="M17.4517 1403.2C12.7214 1403.2"/></svg>',
http_status=502,
),
# Plain timeout echoing the pagination token, which embeds "401".