Salut à tous,
Je me casse un peut les dents sur le teste des envois de mail sous django.
Le fait que django bloque automatiquement tout les envois de mail lors des testes est certes très pratique!
Cependant j'aimerais quand même tester la connexion au serveur smtp au moins une fois dans tout les testes!
Si je passe par le shell le "connection.open()" me lève une exception (normal j'ai trafiqué les paramètres de connexion pour que le teste ne passe normalement pas!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 def test_sendmail(self): """ Envoi un email de test sur les adresses "ADMINS" de settings. Vérifie aussi les parametres de connection smtp """ sujet = 'Email de test Django' mail.send_mail(sujet, "Ceci est un teste d'envoi de mail.", settings.NO_REPLY, [y for x, y in settings.ADMINS], fail_silently=False) self.assertEqual(len(mail.outbox), 1) self.assertEqual(mail.outbox[0].subject, sujet) connection = mail.get_connection(fail_silently=False) self.failIf(connection.open()) connection.close()
Par contre, dans le cadre du test il passe belle et bien! Comme s'il ne faisait pas la connexion.
Alors question: Comment faire, dans le cadre d'un teste, pour forcer la connexion au serveur smtp?
Merci.![]()
Partager