Un adaptateur de courrier électronique empêche les cas de test de dépendre du format de réponse d'un fournisseur. Il doit exposer un petit contrat tout en conservant suffisamment d'informations pour diagnostiquer les échecs.
Define four operations
- Prepare: établir un destinataire synthétique autorisé et enregistrer le contexte du test.
- Wait: trouver un message correspondant au destinataire, à l'objectif et à la fenêtre de requête avant une échéance.
- Read: obtenir le contenu nécessaire à l'assertion sans consigner les secrets.
- Clean up: supprimer les artefacts de test lorsque cela est pris en charge et enregistrer tout nettoyage incomplet.
Return distinct outcomes
| Résultat | Signification |
|---|---|
| Matched | Un message satisfait les règles de corrélation de ce test. |
| Timed out | Aucun message correspondant n'a été observé avant l'échéance. |
| Access rejected | Les identifiants ou l'accès à la boîte de réception n'ont pas pu être validés. |
| Provider unavailable | Le service de boîte aux lettres n'a pas pu terminer l'opération. |
Test the adapter independently
Utilisez des fixtures pour vérifier la pagination, les résultats vides, les nouvelles tentatives, les réponses malformées et l'annulation. Conservez un petit contrôle d'intégration en direct, limité en débit, pour le comportement que les fixtures ne peuvent pas établir. Suivez le contrat API actuel du fournisseur plutôt que de scrapper l'interface de la boîte de réception.
Keep product assertions above the adapter
Le test d'application doit décider si un message de bienvenue a la bonne destination ou si un flux de vérification modifie l'état prévu. L'adaptateur ne doit pas déclarer silencieusement ces résultats métier comme réussis simplement parce qu'un courriel est arrivé.
Consultez la documentation actuelle de l'API CleanTempMail avant d'implémenter son adaptateur, y compris l'authentification et les limites d'utilisation.