Mails testen

BigPun

Mitglied
Hallo Freunde,

folgendes Problem...

ich möchte eine Testklasse schreiben die mithilfe eines Activity einen status bzw. eine Bedingung überprüft und daraufhin eine TestMail versendet, auf meine E-Mail Adresse.

vielleicht habt ihr paar Tipps?! Momentan bin ich soweit:

Java:
public class ProcessEmailTest {

    @Rule
    public ActivitiRule activitiRule = new ActivitiRule("activiti.cfg.xml");
    private Wiser wiser;

    @Before
    public void init() throws Exception {
        wiser = new Wiser();
        wiser.setPort(5025);            //default 25
        wiser.start();
    }

    @After
    public void cleanup() throws Exception {
        wiser.stop();
    }

    @Test
    @Deployment(resources = "ProjectProcess.bpmn20.xml")
    public void testEmailDelay() throws Exception {
        HashMap<String, Object> variables = new HashMap<String, Object>();
        Date dueDate = new Date(2012 - 05 - 04);
        Date orderDate = new Date();
        variables.put("dueDate", dueDate);
        variables.put("orderDate", orderDate);

        //prepare the answer of the EmailService 
        ProjectProcessService bpi = mock(ProjectProcessService.class);
        when(bpi.isPositionDelayed(anyString(),
                any(Long.class))).thenReturn(false);
        DelegateConnectionFactory.setPositionAsDelayed(bpi); //?? Delegate???

        RuntimeService rs = activitiRule.getRuntimeService();
        rs.startProcessInstanceById("ProjectProcess", variables);

        List<WiserMessage> messages = wiser.getMessages(); //
        assertEquals("", null, messages.size());

        assertEquals("Expect the delay eMail", "Order is in delay", messages.get(0).getMimeMessage().getSubject());
 

steffomio

Mitglied
Zum senden von Emails brauchst du immer einen Relay. Zur Not einfach einen Account bei ...arcor.de anmelden und den als Testrelay missbrauchen. Arcor ist da ziemlich schmerzlos -- und mein Favorit :D

Dann schau mal bei Apache Commons rein, die haben einen super Mailer. Brauchst dann noch jawax.mail dazu glaube ich.

Hier ein sehr einfacher Mailer:
Java:
package de.steffomio.sockserver.util;

import de.steffomio.sockserver.main.Main;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;

/**
 *
 * @author Stefan Brinkmann <steffomio@arcor.de>
 */
public class SendMail {

    /**
     *
     * @return Pre-configured Client Mailer with SSL support as defined in Config Settings
     */
    public static MailerSimple getSimpleClientMail(){
        SimpleEmail mailer = new SimpleEmail();

        mailer.setHostName(Main.CONFIG.getProperty("client.mailer.provider.host", ""));
        mailer.setSmtpPort(Integer.parseInt(Main.CONFIG.getProperty("client.mailer.provider.port", "25")));
        mailer.setAuthenticator(new DefaultAuthenticator(
                Main.CONFIG.getProperty("client.mailer.provider.username", ""),
                Main.CONFIG.getProperty("client.mailer.provider.password", "")));

        boolean ssl = getSSLOption(Main.CONFIG.getProperty("client.mailer.provider.ssl", ""));
        mailer.setSSL(ssl);
        return new MailerSimple(mailer);
    }

    /**
     *
     * @return
     */
    public static MailerSimple getSimpleServerMail(){
        SimpleEmail mailer = new SimpleEmail();

        mailer.setHostName(Main.CONFIG.getProperty("server.mailer.provider.host", ""));
        mailer.setSmtpPort(Integer.parseInt(Main.CONFIG.getProperty("server.mailer.provider.port", "25")));
        mailer.setAuthenticator(new DefaultAuthenticator(
                Main.CONFIG.getProperty("server.mailer.provider.username", ""),
                Main.CONFIG.getProperty("server.mailer.provider.password", "")));

        boolean ssl = getSSLOption(Main.CONFIG.getProperty("server.mailer.provider.ssl", "ON"));
        mailer.setSSL(ssl);
        return new MailerSimple(mailer);

    }

    /**
     * parse Config Mailer SSL option
     *
     * @param value
     * @return
     */
    private static boolean getSSLOption(String value) {
        String v = value.toLowerCase().trim();
        return ((v.equals("") || v.equals("0") || v.equals("no") || v.equals("off") || v.equals("false")) ? false : true);

    }

    public static class MailerSimple {

        private final SimpleEmail mailer;

        MailerSimple(SimpleEmail m) {
            mailer = m;
        }

        public void send(String subject, String body, String from, String[] to) throws EmailException {

            mailer.setSubject(subject);
            mailer.setFrom(from);
            mailer.setMsg(body);
            for (String t : to) {
                mailer.addTo(t);
            }
            mailer.send();
        }
    }
}
 

irgendjemand

Top Contributor
ich denke das es wohl ein wenig overkill ist sich noch zusätzlich Apache Commons zu laden wenn die normale mail-api völlig ausreicht ... siehe das von mir verlinkte tutorial ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D kein Versand von Mails mit Anhang mehr Allgemeine Java-Themen 2
T Automatisch Mails versenden Allgemeine Java-Themen 4
S Zeichensatz im Betreff von Mails Allgemeine Java-Themen 7
Mike90 Attachments von Mails downloaden Allgemeine Java-Themen 3
André Uhres Welches Werzkeug benutzt ihr um eure Mails zu lesen? Allgemeine Java-Themen 47
J E-Mails verschicken Allgemeine Java-Themen 33
G Mail Konten (E-Mails holen) Allgemeine Java-Themen 5
S Ungelesene Mails mit Java Mail abholen Allgemeine Java-Themen 3
K Mails verschicken ohne SMTP-Server Allgemeine Java-Themen 18
S Verschlüsselte Mails entschlüsseln! Allgemeine Java-Themen 2
G E-Mails versenden Allgemeine Java-Themen 12
D mails auch als fax verschicken ? ? ? Allgemeine Java-Themen 2
G Mails aus TimerTask Allgemeine Java-Themen 6
G mit Java Mails verschicken Allgemeine Java-Themen 7
L Unterschiedliche mails (Daten aus JTable) schicken Allgemeine Java-Themen 14
R Java Mail Abrufen von Mails Allgemeine Java-Themen 2
P E-Mails mittels POP3 abrufen Allgemeine Java-Themen 2
S mails senden? Allgemeine Java-Themen 2
Zrebna Zuverlässiges Automatisiertes Testen im eigenem Software-Unternehmen aufsetzen - How to? Allgemeine Java-Themen 12
Zrebna Automatisiertes Testen von größeren und komplexen Prozessen Allgemeine Java-Themen 56
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
Z Testen ob neuer Tag beginnt Allgemeine Java-Themen 37
S Habt ihr eine Idee wie man Serializierung testen kann..? Allgemeine Java-Themen 6
B Eclipse WebSocket programmiert, kann es leider nicht testen. Allgemeine Java-Themen 15
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
perlenfischer1984 TestNG - Enum testen Allgemeine Java-Themen 1
perlenfischer1984 Testng : Funktion mit mehreren Parametern testen Allgemeine Java-Themen 5
J Best Practice Testen von protected Methoden Allgemeine Java-Themen 7
F Testen von Methoden Allgemeine Java-Themen 3
B JUnit Zufalls Operation testen Allgemeine Java-Themen 1
P Testen von UIs Allgemeine Java-Themen 2
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
M Testen von verschiedenen Produktversionen Allgemeine Java-Themen 3
T EventBus testen Allgemeine Java-Themen 1
L JUnit - automatisiertes vs. manuelles Testen? Allgemeine Java-Themen 6
R Java Performance testen Allgemeine Java-Themen 18
A AVL-Baum - Testen ob einer vorliegt Allgemeine Java-Themen 4
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
X Testen ob ein array leer ist Allgemeine Java-Themen 6
M Server-Responds testen, Code-Redundanz Allgemeine Java-Themen 3
fastjack Unit-Testen mit Mocks Allgemeine Java-Themen 6
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
H Thread Safety und Deadlocks testen Allgemeine Java-Themen 6
D Muss eine JNI Biblio testen (MAC OS X) Allgemeine Java-Themen 4
T Object auf Double, Int, String testen Allgemeine Java-Themen 5
aokai Testen von Klassen die abhängig von Stdlibs URL sind Allgemeine Java-Themen 3
S Testen einer Anwendung durch klicken von Koordinaten Allgemeine Java-Themen 7
R Testen von Applets - versch. Browser und Java Versionen? Allgemeine Java-Themen 4
V Quellcode auf "Güte" testen? Allgemeine Java-Themen 5
G JAR-DAtei testen Allgemeine Java-Themen 15
J Klasse auf Konstruktor oder Methode testen? Allgemeine Java-Themen 3
A Junit Exceptions testen Allgemeine Java-Themen 3
Z Testen welches BS benutzt wird Allgemeine Java-Themen 3
G Testen von RMI,TCP/IP, Servlets etc. Allgemeine Java-Themen 2
M Welches Linux zum Java testen? Allgemeine Java-Themen 5
P Testen mit JUnit Allgemeine Java-Themen 8
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
G testen mit JUnit? Allgemeine Java-Themen 3
K Testen ob Methode existiert? Allgemeine Java-Themen 2
N Cashbook Management Testen Allgemeine Java-Themen 7
A testen ob Primzahl dauert bei größeren zahlen extrem lange Allgemeine Java-Themen 8
M String testen? Allgemeine Java-Themen 2
M String testen? Allgemeine Java-Themen 6
N auf typ testen? Allgemeine Java-Themen 3
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18
K Testen einer Klasse mit File Objekt als Parameter Allgemeine Java-Themen 6
M Bitte Testen: Mein Multi-File Editor Allgemeine Java-Themen 30
T GUI Testen Allgemeine Java-Themen 4
T GUI Testen Allgemeine Java-Themen 5
G Programm zum Testen der Striktheit von Java Allgemeine Java-Themen 9
H Laufwerk testen? Allgemeine Java-Themen 12
F Hilfe: Adjazenzmatrix mittels JUnit testen. Allgemeine Java-Themen 2
M Jemannd mit 1.4/1.3/1.2 zum Testen gesucht. Allgemeine Java-Themen 15
flashfactor Testen ob ein R/3 erreichbar bzw. noch am leben ist. Allgemeine Java-Themen 2
T Datum testen und Einsetzten Allgemeine Java-Themen 5
M Regular Expression - verschiedene Ausdrücke testen (grep | ) Allgemeine Java-Themen 5
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben