Files
2026-10-24 14:03:52 +07:00

1.1 KiB

End-to-end tests

They drive a running movim-rs (and, for the browser_* ones, the real Movim frontend in a headless Chromium) against a local Prosody.

./setup.sh                 # once: builds Prosody locally, creates alice, bob and carol
cargo build && ./run.sh    # starts movim-rs on 127.0.0.1:8099
uv run --with websockets --with requests python e2e.py
uv run --with websockets --with requests python e2e_muc.py
uv run --with websockets --with requests python setup_roster.py   # alice and bob become contacts
uv run --with playwright python -m playwright install chromium
uv run --with playwright python browser_smoke.py   # also browser_call, browser_omemo, ...
uv run --with playwright python browser_muji.py    # 3-way group call (--video for video)
uv run --with playwright python browser_preview.py # link previews (serves pages on :8765)

Screenshots are written to shots/.

On a fresh database the first login replays the whole archive (MAM), so the scripts match on the ids of the messages they send rather than on the first message that shows up. The Python clients send no timezone, so times are UTC.