Running tests
Tests for the FLAME Hub Client are implemented with pytest. Execute
pytest tests in the root directory of this repository to run all tests.
Hint
This assumes that an virtual environment has been setup and activated with poetry.
Furthermore, tests require access to a FLAME Hub instance. There are two way of accomplishing this - either by using testcontainers or by deploying your own instance.
Using testcontainers
Running pytest will spin up all necessary test containers which can take about a minute. The obvious downsides are
that this process takes up significant computational resources and that this is necessary every time you want to run
tests. On the other hand, you can rest assured that all tests are always run against a fresh Hub instance. For quick
development, it is highly recommended to set up you own Hub instance instead.
Deploying your own Hub instance
Grab the Docker compose file
from the Hub repository and store it somewhere warm and comfy. For core, messenger, analysis-manager,
storage and ui services, remove the build property and replace it with
image: ghcr.io/privateaim/hub:HUB_VERSION. The latest version of the FLAME Hub Client that is tested with the Hub is
0.8.21. Now you can run docker compose up -d and, after a few minutes, you will be able to access the
UI at http://localhost:3000.
In order for pytest to pick up on the locally deployed instance, run cp .env.test .env and modify the
.env file such that PYTEST_USE_TESTCONTAINERS=0. This will skip the creation of all test containers and make
test setup much faster.