integration tests: update instructions (#4017)

- explain what these tests are
- mention that it's sometimes needed to rebuild the synapse image

---------

Signed-off-by: Benjamin Bouvier <benjamin@bouvier.cc>
Co-authored-by: Ivan Enderlin <ivan@mnt.io>
This commit is contained in:
Benjamin Bouvier
2024-09-18 16:45:33 +02:00
committed by GitHub
parent 7d1bbfaa32
commit 1b4f665d99

View File

@@ -1,9 +1,13 @@
# 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 ci patched configuration. You can easily get
it up and running with `docker compose` via:
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
@@ -13,8 +17,8 @@ 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.
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
@@ -22,12 +26,30 @@ 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.
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
To drop the database of your docker compose run:
### 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
docker compose -f assets/docker-compose.yml down --volumes --remove-orphan -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
```