[intégrée] Prop0004 - Intégrer un serveur de mail local pour les tests

Statut

=> Intégrée

Forge : Ticket #8805

https://github.com/openmairie/omframework-documentation/commit/e6af5e607751fc101558222671e913a3fe1a7d2a

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 ou om-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 de maildump 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

1 « J'aime »