bovine/http_tests
Helge 785af0937c Implement FEP-2677
This resolves  #73
2023-10-20 12:29:47 +02:00
..
conf Repair whitespace expand readme 2023-09-01 20:25:10 +02:00
dockerfiles Implement FEP-2677 2023-10-20 12:29:47 +02:00
features Implement FEP-2677 2023-10-20 12:29:47 +02:00
scripts Add abilitie to run tests against sqlite/postgres in docker 2023-08-17 16:56:34 +02:00
testserver Add simple base classes to generate JRD data 2023-10-19 20:39:45 +02:00
.gitignore Ensure proper running multi host SSL tests 2023-09-01 13:11:24 +02:00
README.md Implement FEP-2677 2023-10-20 12:29:47 +02:00
build_dependencies.sh Ensure proper running multi host SSL tests 2023-09-01 13:11:24 +02:00
docker-compose.yml Adjust tests to new object validation 2023-09-03 12:36:35 +02:00
start_runner.sh Implement FEP-2677 2023-10-20 12:29:47 +02:00

README.md

HTTP Tests

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.

Building

First the fediverse-features repository is cloned.

cd features
git clone git@codeberg.org: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]

Usage

To just run tests, run

./start_runner.sh

This will drop you into a command line, where you can run behave.

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