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 runall
ouom-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 demaildump
hors 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