Removed a few TODOs that were not applicable anymore, because they were either very low value (in timeline test code) or already done (in event cache, with respect to the cross-process locking). Also removed my nick from some TODOs and comments, as code comments aren't the best way to store assignees for issues.
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:
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:
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:
docker compose -f assets/docker-compose.yml build --pull synapse
Then restart the synapse service:
docker compose -f assets/docker-compose.yml up -d synapse