Tests#

Requirements#

pip install -U -r requirements/testing.txt

Lancement des dépendances (Postgres, RabbitMQ, Minio, Road2)#

Nécessite une version de docker compose >= 1.27

docker compose -f tests/dev/docker-compose.dev.yml up -d

Le serveur minio contient des stored_data qui peuvent être utilisées pour tester l’agent.

L’agent de publication est également démarré dans un container.

Tests manuels#

Démarrage de l’agent de publication (en local) :

gpf-pub-agent-road2 -v

Dans un nouveau terminal, afin d’envoyer des messages de publication sur le bus :

python tests/dev/mime_api_entrepot.py  -f tests/fixtures/pgr/configuration.json
python tests/dev/mime_api_entrepot.py  -f tests/fixtures/osrm/configuration.json
python tests/dev/mime_api_entrepot.py  -f tests/fixtures/valhalla/configuration.json

Si les containers Docker ont été démarré précédemment, les publications se font dans le container Road2.

Pour effectuer des dépublications ou des modifications de publications, les fichiers de configuration doivent être édités pour modifier le status de la configuration:

  • demande de publication : PUBLISHING

  • demande de dépublication : UNPUBLISHING

  • demande de modification : MODIFYING

Ces fichiers de configuration ne sont pas dupliqués pour chaque statut mais modifié lors du lancement des tests. Cela évite de devoir modifier de nombreux fichiers de configuration en cas de modification de la structure de la configuration.

Lancement des tests unitaires#

pytest