Cette MR vise à retranscrire les spécifications dans ce ticket dédié.
Les fonctions suivantes ont été implémentées :
-
alimenter un nouveau service en récupérant les offres depuis les API dédiées -
mettre en place un bus d'écoute vers l'entrepôt -
rédiger un message après la diffusion d'une offre -
publier le message sur un bus dédié après la diffusion d'une offre -
test unitaires sur l'alimentation d'un service au démarrage d'un agent de publication
Ces fonctions ont pour vocation d'être utilisées par les agents de publication spécifiques (GeoServer, Rok4, GeoNetwork, etc..)
Pour tester le code, il faut :
- Installer un serveur RabbitMQ en utilisant une image Docker. Pour ce faire, il faut lancer la commande :
docker run --rm -it --hostname my-rabbit -p 5672:5672 rabbitmq:3
- Dans un terminal, lancer le script
mime_api_entrepot.py
:python mime_api_entrepot.py
- Dans un second terminal, lancer le script
pot_commun.py
:python pot_commun.py
A faire dans les prochaines MR:
- conserver une trace de la publication via l'identifiant unique fourni par l'entrepôt
- tests unitaires sur les interactions (réception/publication de messages) avec un bus RabbitMQ