mirror of
https://github.com/matrix-org/matrix-rust-sdk.git
synced 2026-02-16 10:32:43 -05:00
The test looks at updates of `RoomInfo`s, but these depends on external factors like the server sending them in one part or multiple ones. Instead of trying to figure out which partial updates the server sent, wait for the stream of `RoomInfo`s to stabilize by trying to get the latest item from the stream, then wait up to N seconds for another item to show up, and continue as long as items come in. This should allow us to get rid of some code that was required to prevent flakey updates.
Matrix SDK integration test
Requirements
This requires a synapse backend with a ci patched configuration. You can easily get
it up and running with docker compose via:
docker compose -f assets/docker-compose.yml up -d
docker compose -f assets/docker-compose.yml logs --tail 100 -f
Note that this works also with podman compose.
Patches
You can see the patches we do to configuration (namely activate registration and
resetting rate limits), check out what assets/ci-start.sh changes.
Running
The integration tests can be run with cargo test or cargo nextest run.
The integration tests expect the environment variables HOMESERVER_URL to be the HTTP URL to
access the synapse server and HOMESERVER_DOMAIN to be set to the domain configured in
that server. If you are using the provided docker-compose.yml, the default will be fine.
Maintenance
To drop the database of your docker compose run:
docker compose -f assets/docker-compose.yml down --volumes