1. REST 404 "Unknown host: prosody": the tester reaches prosody by
service name (http://prosody:5280), so aiohttp sends Host: prosody,
which Prosody rejects as an unknown vhost. The auto host-header
heuristic only overrides for IP/localhost. Set REST_HOST_HEADER=
example.com explicitly in the tester env so HTTP routing lands on the
example.com VirtualHost that serves mod_http_rest /rest.
2. healthcheck.sh not found: the static test_04_infra checks resolve
../config/healthcheck.sh (= /config/healthcheck.sh) but the tester
image only ships /tests. Mount ./config:/config:ro so the path
resolves inside the container.
3. telnet non-loopback banner: read only 256 bytes, capturing just the
ASCII-art top and never the literal "Prosody" text. Bump to 1024 to
match test_04_infra.test_telnet_banner, which passes with the larger
read.
Part-of: <http://gitlab.vnc.biz/uxf/vnctalk-prosody/-/merge_requests/3>
The tester container uses WORKDIR /tests, so 'tests/pytest.ini' resolves
to /tests/tests/pytest.ini which does not exist, causing FileNotFoundError
in CI. Use paths relative to /tests (pytest . -c pytest.ini) for all
in-container invocations: CI job, Makefile target, tester image CMD, and
docs. Host-run scripts are unchanged (they run from repo root).
Part-of: <http://gitlab.vnc.biz/uxf/vnctalk-prosody/-/merge_requests/3>
Add c2s_stanza_size_limit and s2s_stanza_size_limit to the config
template, backed by C2S_STANZA_SIZE_LIMIT and S2S_STANZA_SIZE_LIMIT
env vars. Both default to 5242880 (5MB) when unset, set in startup.sh.
The compose harness sets them explicitly.
Prosody 13.0.6 defaults are 256KB (c2s) and 512KB (s2s), which are too
small for large file-transfer invitations and Jitsi meet sessions.
Part-of: <http://gitlab.vnc.biz/uxf/vnctalk-prosody/-/merge_requests/3>
Brings up the docker-compose stack (postgres + mocks + prosody), waits
for prosody to become healthy, and runs the full pytest suite with all
env vars set so tests that need MOCK_URL, PG, BOSH/WS, telnet, etc. are
not skipped.
Auto-detects if port 5582 is already in use (e.g. kubectl port-forward)
and remaps the telnet host port to 5583 via the TELNET_HOST_PORT env var
in docker-compose.yml.
Usage:
./run-compose-tests.sh # up + test + down
./run-compose-tests.sh --no-down # leave stack running
./run-compose-tests.sh --down # just tear down
Part-of: <http://gitlab.vnc.biz/uxf/vnctalk-prosody/-/merge_requests/3>