IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tests et Performance Java Discussion :

Tester Javamail, envoi de mail avec attachment [JUnit]


Sujet :

Tests et Performance Java

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut Tester Javamail, envoi de mail avec attachment
    Salut,
    je voudrais tester javamail avec junit. Je crois que c'est possible via des mock, mais le concept ne m'est pas familier.

    Quelqu'un pourrait m'expliquer la demarche, ou me renvoyer vers un exemple. J'ai rien trouve de concluant pour l'instant,

    Merci

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    C'est possible avec des Mocks, mais je trouve dumbster
    http://quintanasoft.com/dumbster/

    plus pratique. C'est un serveur smtp à démarrer depuis ton test unitaire. Tu le lance, il répond au protocol smtp, tu fais ton test et puis tu récupère les mail dans ce serveur

    Example du site:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class SimpleSmtpServerTest extends TestCase {
    ...
      public void testSend() {
        SimpleSmtpServer server = SimpleSmtpServer.start();
     
        try {
          // Submits an email using javamail to the email server listening on port 25 
          // (method not shown here). Replace this with a call to your app logic.
          sendMessage(25, "sender@here.com", "Test", "Test Body", "receiver@there.com");
        } catch(Exception e) {
          e.printStackTrace();
          fail("Unexpected exception: "+e);
        }
     
        server.stop();
     
        assertTrue(server.getReceivedEmailSize() == 1);
        Iterator emailIter = server.getReceivedEmail();
        SmtpMessage email = (SmtpMessage)emailIter.next();
        assertTrue(email.getHeaderValue("Subject").equals("Test"));
        assertTrue(email.getBody().equals("Test Body"));	
      }
    ...  
    }

  3. #3
    Membre confirmé
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Points : 497
    Points
    497
    Billets dans le blog
    1
    Par défaut
    salut
    pour ma part je me suis inspiré de ceci en utilisant mock-javamail

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2008
    Messages
    261
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 261
    Points : 164
    Points
    164
    Par défaut
    ok merci, je vais regarder ce que cela donne.

    dumbster a l'air sympa. Je connaissais pas.

    ca le fait en bidouillant l'exemple de mock javamail

  5. #5
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 215
    Points
    215
    Par défaut
    Bonjour,

    je profite du sujet car j'essaie désespérément d'utiliser mock-javamail sans succès...

    quoi que je fasse, je récupère une exception "javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;"

    Y-a-t-il un pré-requis non détaillé dans l'exemple du touilleur ? Je trouve peu de doc sur ce framework, et aucun exemple ne semble fonctionner...

    Je suis preneur de tout bout de code qui passe, pour info je suis en maven 3.04, j'ai testé mock-javamail v 1.7, et je suis en java 6...

    Merci d'avance !

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Tu peux essayer de changer de port, sur les système unix les ports inférieurs sont réservés à l'admin et des firewall peuvent aussi les bloquer.

  7. #7
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 215
    Points
    215
    Par défaut
    Le problème ne vient pas du port dans la mesure ou - je ne l'avais pas précisé il est vrai - mes services d'envoi d'email fonctionnent parfaitement en mode connecté à un vrai smtp...

    le debug me renvoit les informations suivantes :

    DEBUG: setDebug: JavaMail version 1.4.3
    DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
    DEBUG SMTP: useEhlo true, useAuth false
    DEBUG SMTP: trying to connect to host "localhost", port 25, isSSL false
    setter ehlo à false ne résoud rien, le problème ne viendrait pas de l'implémentation de javax.mail.Transport qui est retournée ? (com.sun.mail.smtp.SMTPTransport)
    je devrais avoir org.jvnet.mock_javamail.MockTransport en lieu en place... le fichier "javamail.providers" fourni dans le jar de mock-javamail n'est clairement pas pris en compte mais je ne sais pas pourquoi... grrr

    PS : Je suis sous win7 et j'ai bloqué le firewall de windaube

  8. #8
    Membre actif Avatar de DrHelmut
    Homme Profil pro
    Software craftsman - JS, Java...
    Inscrit en
    Octobre 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Software craftsman - JS, Java...
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 112
    Points : 215
    Points
    215
    Par défaut
    Je sens bien le coup de la version de java.mail qui n'est pas prise en compte... ou le conflit maven relou à analyser..

    Bref. J'ai cherché ailleurs du coup et j'ai trouvé "Wiser" qui est à peu près équivalent et qui fonctionne lui très bien sur mon projet :p

    pour info : http://code.google.com/p/subethasmtp/wiki/Wiser

    maven :
    <dependency>
    <groupId>org.subethamail</groupId>
    <artifactId>subethasmtp-wiser</artifactId>
    <version>1.2</version>
    <scope>test</scope>
    </dependency>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [javamail] Envoi de mail avec plusieurs images
    Par RamyBoulet dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 21/09/2009, 11h32
  2. Réponses: 1
    Dernier message: 21/02/2007, 10h49
  3. Réponses: 1
    Dernier message: 25/04/2006, 17h19
  4. Envoi de mail avec pièce attachée par SMTP
    Par yess78 dans le forum IIS
    Réponses: 4
    Dernier message: 09/12/2005, 13h33
  5. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo