com.atlassian.confluence.it.mail
Class MailServices

java.lang.Object
  extended by com.atlassian.confluence.it.mail.MailServices

public class MailServices
extends Object

This class provides mail services like POP3 and SMTP for the acceptance tests. It will try to find free TCP/IP ports for the services within a given range.


Constructor Summary
MailServices(int portRangeStart, int portRangeEnd, String hostName)
           
 
Method Summary
 void addUser(String email, String login, String password)
          Adds a user to the mail service.
 String getHostName()
           
 int getPop3Port()
           
 javax.mail.internet.MimeMessage getReceivedMessage()
          Get the first message of all messages received until now.
 javax.mail.internet.MimeMessage[] getReceivedMessages()
          Returns an array of all messages received until now.
 int getSmtpPort()
           
 boolean isRunning()
          Returns true if the mail servers are running.
 void removeAllReceivedMessages()
          Removes all received mails.
 void sendTextMessage(String to, String from, String subject, String body)
          Sends an email with the content type "text/plain" and the given contents using the test SMTP server.
 void start()
          Tries to start a SMTP and a POP3 server on any free port in the range given in the constructor.
 void stop()
          Stops the SMTP and POP3 server.
 javax.mail.internet.MimeMessage waitAndGetReceivedMessage()
          Does the same as getReceivedMessage() but waits until a message is received or until a timeout is reached.
 boolean waitForIncomingMessage(int numberOfMessages)
          Wait until the specified number of mails is received or until a timeout is reached.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MailServices

public MailServices(int portRangeStart,
                    int portRangeEnd,
                    String hostName)
Method Detail

start

public void start()
           throws BindException
Tries to start a SMTP and a POP3 server on any free port in the range given in the constructor.

Throws:
BindException - if there is no free port available in the given range

stop

public void stop()
Stops the SMTP and POP3 server.


isRunning

public boolean isRunning()
Returns true if the mail servers are running.


addUser

public void addUser(String email,
                    String login,
                    String password)
Adds a user to the mail service. The SMTP server will then accept incoming mails for email and you can fetch these mails via POP3 using login/password for authentication.

Parameters:
email - email of the user to be created
login - login of the user to be created
password - password of the user to be created

getHostName

public String getHostName()
Returns:
the host name the mail services are bound to

getPop3Port

public int getPop3Port()
Returns:
the port the POP3 server is bound to

getSmtpPort

public int getSmtpPort()
Returns:
the port the SMTP server is bound to

sendTextMessage

public void sendTextMessage(String to,
                            String from,
                            String subject,
                            String body)
Sends an email with the content type "text/plain" and the given contents using the test SMTP server.

Parameters:
to - email address this mail should be sent to
from - email address this mail should appear to be sent from
subject - subject of the email
body - body of the email

getReceivedMessages

public javax.mail.internet.MimeMessage[] getReceivedMessages()
Returns an array of all messages received until now.

Returns:
all received messages

getReceivedMessage

public javax.mail.internet.MimeMessage getReceivedMessage()
Get the first message of all messages received until now.

Returns:
the first message received as MimeMessage or null if there was no message received

waitAndGetReceivedMessage

public javax.mail.internet.MimeMessage waitAndGetReceivedMessage()
                                                          throws InterruptedException
Does the same as getReceivedMessage() but waits until a message is received or until a timeout is reached.

Returns:
the first message received as MimeMessage or null if there was no message received
Throws:
InterruptedException

removeAllReceivedMessages

public void removeAllReceivedMessages()
                               throws com.icegreen.greenmail.store.FolderException
Removes all received mails.

Throws:
com.icegreen.greenmail.store.FolderException

waitForIncomingMessage

public boolean waitForIncomingMessage(int numberOfMessages)
                               throws InterruptedException
Wait until the specified number of mails is received or until a timeout is reached.

Throws:
InterruptedException


Copyright © 2003-2011 Atlassian. All Rights Reserved.