Files
matrix-rust-sdk/testing/matrix-sdk-integration-testing/README.md
2026-05-18 15:05:52 +02:00

58 lines
1.8 KiB
Markdown

# Matrix SDK integration test
This set of tests requires a Synapse instance, and it runs the tests from this
directory against this real-world server. As a result, these tests depend on the
load of the machine/server, and as such they might be more sensitive to timing
issues than other tests in the code base.
## Requirements
This requires a synapse backend with a configuration patched for CI. You can get
it up and running with `docker compose` via:
```sh
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, enable a few experimental features),
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. These variables are set to a default value
that matches the default `docker-compose.yml` template; if you haven't touched
it, you don't need to manually set those environment variables.
## Maintenance
### Delete all instance data
To stop the services and drop the database of your docker-compose cluster, run:
```bash
docker compose -f assets/docker-compose.yml down --volumes --remove-orphans -t 0
```
### Rebuild the synapse image
If the Synapse image has been updated in version, you may need to rebuild the
custom Synapse image using the following:
```bash
docker compose -f assets/docker-compose.yml build --pull synapse
```
Then restart the synapse service:
```bash
docker compose -f assets/docker-compose.yml up -d synapse
```