Statut
=> Intégrée
Forge : Ticket #8805
Porteur principal : Matthias BROQUET
Porteur secondaire : Florent MICHON
Résumé
Intégrer dans om-tests l’utilisation d’un serveur de mail local (maildump).
Motivation
Axe 1
Actuellement, l’écriture des tests impliquant un envoi d’email impose d’avoir préalablement configuré dans son instance de test un serveur SMTP opérationnel. Ceci est déjà automatisable à l’exécution des tests en utilisant dans la configuration de son projet (test/resources/app/om_tests.py) le paramètre _params_copy_files, qui permet de copier un fichier de configuration (ici mail.inc.php). Ce qui, dans le cadre d’un projet sous contrôle de version, peut se révéler problématique (versionnage des identifiants / mot de passe, etc).
L’objectif ici est de fournir dans om-tests un serveur SMTP local intégré, est d’en générer la configuration à la volée à chaque exécution des tests. Ainsi, lors des phases de développements, le projet est nativement intégré à un serveur SMTP, sans paramétrage supplémentaire. Les emails ne sortent pas de l’environnement de développement : quelque soit l’adresse email du destinataire, l’email est émis correctement par l’applicatif et est catché par maildump.
Axe 2
Déplacé dans la Prop0017
Pré-requis
La plate-forme d’intégration (jenkins.openmairie.org) doit être mise à jour préalablement à l’incorporation de la branche d’intégration.
Proposition et implémentation
- Documenter l’installation de 
maildump; - Mettre à jour 
jenkins.openmairie.org; - Au lancement des tests (ex: 
om-tests -c runallouom-tests -c runone -t my_test), déclencher la génération de la configuration et le démarrage / arrêt du service ; - Dans 
om-tests, ajouter une commande standalone permettant de lancer / arrêter le serveur SMTP (ex:om-tests -c startstmp). Ceci, afin de permettre l’utilisation demaildumphors des tests ; - Pour illustrer l’utilisation de 
maildump, implémenter un scénario de test dans lequel on vérifie le bon fonctionnement de la réinitialisation du mot de passe. 
POC
une expérimentation est en cours ici
Risques
Gérer correct