This resolves #73
These are tests that actually test bovine as a full blown webserver instead of components in isolation. The current setup allows both testing using http and https.
Test cases are writen in Gherkin and are in a separate repository fediverse-features. This is due to the hope that these test cases are sharable between Fediverse implementations.
First the fediverse-features repository is cloned.
cd features git clone email@example.com:helge/fediverse-features.git cd ..
SSL certificates are regenerated
cd certs openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj "/CN=abel_secure/CN=banach_secure" -keyout privatekey.pem -out certificate.pem cd ..
Finally, we are ready to build the containers.
cp certs/certifacte.pem dockerfiles/ ./build_dependencies.sh docker compose build [--no-cache]
To just run tests, run
This will drop you into a command line, where you can run
One can run the tests via
# docker compose up --detach --build --remove-orphans docker compose run --build testrunner ./run_tests.sh docker compose run --build --env USE_SSL=1 testrunner ./run_tests.sh
These create junit reports in the reports folder. The mapping, which actor name lives on which host is defined in
features/environment.py. By default actors live on abel.
Follow log files with
docker compose exec abel tail -f /opt/bovine/debug.log