com.ozacc.mail.mock
クラス MockSendMail

java.lang.Object
  拡張com.ozacc.mail.mock.MockSendMail
すべての実装インタフェース:
SendMail

public class MockSendMail
extends Object
implements SendMail

SendMailImplクラスのMock。
実存するSMTPサーバを設定しても、実際には送信されません。 デバッグモードを有効にすると、メールを送信するタイミングでコンソールに送信メール内容が出力されます。

Mailインスタンスを addExpectedMail() にセットし verify() メソッドを実行すると、send() されたMailインスタンスと全てのプロパティ(XHeader、添付ファイルを除く)が一致しなければAssertionFailedExceptionがスローされます。

例えば、send() されたMailインスタンスのFromアドレスと件名だけチェックし、その他のプロパティはチェックしたくない場合は、MockMailインスタンスを使用します。

Mail sentMail = new Mail();
sentMail.setFrom("from@example.com");
sentMail.setSubject("件名");
sentMail.addTo("to@example.com");
sentMail.setText("動的生成される本文");

Mail expectedMail = new Mail();
expectedMail.setFrom("from@example.com");
expectedMail.setSubject("件名");

MockMail mockMail = new MockMail();
mockMail.setFrom("from@example.com");
mockMail.setSubject("件名");

MockSendMail sendMail = new MockSendMail();
sendMail.addExpectedMail(expectedMail);
sendMail.send(sentMail);
sendMail.verify(); // 宛先と本文が一致しないので失敗。AssertionFailedExceptionがスローされます。

sendMail = new MockSendMail();
sendMail.addExpectedMail(mockMail);
sendMail.send(sentMail);
sendMail.verify(); // 成功。

注: 添付ファイルは比較対象になりません。

導入されたバージョン:
1.0
バージョン:
$Id: MockSendMail.java,v 1.14 2004/12/28 23:50:13 otsuka Exp $
作成者:
Tomohiro Otsuka

フィールドの概要
static String DEFAULT_HOST
          デフォルトのSMTPサーバ。
static int DEFAULT_PORT
          デフォルトのポート。
static String DEFAULT_PROTOCOL
          デフォルトのプロトコル。
static String JIS_CHARSET
          ISO-2022-JP
 
コンストラクタの概要
MockSendMail()
          コンストラクタ。
 
メソッドの概要
 void addExpectedMail(Mail expectedMail)
           
 void addExpectedMail(Mail[] expectedMails)
           
 void checkEquality(Mail expected, Mail sent, int num)
           
 String getCharset()
          エンコーディングに使用する文字コードを返します。
 String getHost()
          セットされたSMTPサーバのホスト名、またはIPアドレスを返します。
 MimeMessage[] getMimeMessages()
          送信されたメールのMimeMessageインスタンスを返します。
 String getPassword()
           
 int getPort()
           
 String getProtocol()
           
 String getReturnPath()
           
 Mail[] getSentMails()
          送信されたMailインスタンスを返します。
 String getUsername()
           
 void initialize()
          MockSendMailインスタンスを初期化します。
 boolean isDebug()
          デバッグモードが有効になっているか判定します。
 void send(Mail mail)
          指定されたメールを送信します。
 void send(Mail[] mails)
          指定されたメールを送信します。
 void send(MimeMessage mimeMessage)
          指定されたMimeMessageを送信します。
 void send(MimeMessage[] mimeMessages)
          指定されたMimeMessageを送信します。
 void setCharset(String charset)
          メールの件名や本文のエンコーディングに使用する文字コードを指定します。
 void setDebug(boolean debug)
          デバッグモード(コンソールにログを出力)を有効にします。
 void setHost(String host)
          SMTPサーバのホスト名、またはIPアドレスをセットします。
 void setPassword(String password)
          SMTPサーバの接続認証が必要な場合にパスワードをセットします。
 void setPort(int port)
          SMTPサーバのポート番号をセットします。
 void setProtocol(String protocol)
           
 void setReturnPath(String returnPath)
          Return-Pathアドレスをセットします。
 void setUsername(String username)
          SMTPサーバの接続認証が必要な場合にユーザ名をセットします。
protected  void throwExceptionWithMessage(String name, String expectedValue, String sentValue, int num)
          引数の値を受けてエラーメッセージを生成し、AssertionFailedErrorをスローします。
 void verify()
           
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DEFAULT_PROTOCOL

public static final String DEFAULT_PROTOCOL
デフォルトのプロトコル。「smtp」

関連項目:
定数フィールド値

DEFAULT_PORT

public static final int DEFAULT_PORT
デフォルトのポート。「-1」

関連項目:
定数フィールド値

DEFAULT_HOST

public static final String DEFAULT_HOST
デフォルトのSMTPサーバ。「localhost」

関連項目:
定数フィールド値

JIS_CHARSET

public static final String JIS_CHARSET
ISO-2022-JP

関連項目:
定数フィールド値
コンストラクタの詳細

MockSendMail

public MockSendMail()
コンストラクタ。

メソッドの詳細

initialize

public void initialize()
MockSendMailインスタンスを初期化します。


getMimeMessages

public MimeMessage[] getMimeMessages()
送信されたメールのMimeMessageインスタンスを返します。 送信順の配列です。

戻り値:
送信メールのMimeMessageインスタンス配列

getSentMails

public Mail[] getSentMails()
送信されたMailインスタンスを返します。送信順の配列です。

戻り値:
送信メールのMailインスタンス配列

isDebug

public boolean isDebug()
デバッグモードが有効になっているか判定します。

戻り値:
Returns 有効になっている場合 true

setDebug

public void setDebug(boolean debug)
デバッグモード(コンソールにログを出力)を有効にします。 デフォルトは無効です。

パラメータ:
debug - デバッグモードを有効にする場合 true

addExpectedMail

public void addExpectedMail(Mail expectedMail)
パラメータ:
expectedMail -

addExpectedMail

public void addExpectedMail(Mail[] expectedMails)
パラメータ:
expectedMails -

verify

public void verify()
            throws AssertionFailedException
例外:
AssertionFailedException

checkEquality

public void checkEquality(Mail expected,
                          Mail sent,
                          int num)
                   throws AssertionFailedException
パラメータ:
expected -
sent -
例外:
AssertionFailedException

throwExceptionWithMessage

protected void throwExceptionWithMessage(String name,
                                         String expectedValue,
                                         String sentValue,
                                         int num)
                                  throws AssertionFailedException
引数の値を受けてエラーメッセージを生成し、AssertionFailedErrorをスローします。

パラメータ:
name - 一致しなかった項目名
expectedValue - 期待値
sentValue - 実際値
num - N番目のメール
例外:
AssertionFailedException - 生成された例外

send

public void send(Mail mail)
          throws MailException
インタフェース SendMail の記述:
指定されたメールを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mail - 送信するメールのMailインスタンス
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(com.ozacc.mail.Mail)

send

public void send(Mail[] mails)
          throws MailException
インタフェース SendMail の記述:
指定されたメールを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mails - 送信するメールのMailインスタンス配列
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(com.ozacc.mail.Mail[])

send

public void send(MimeMessage mimeMessage)
          throws MailException
インタフェース SendMail の記述:
指定されたMimeMessageを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mimeMessage - 送信するメールのMimeMessageインスタンス
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(javax.mail.internet.MimeMessage)

send

public void send(MimeMessage[] mimeMessages)
          throws MailException
インタフェース SendMail の記述:
指定されたMimeMessageを送信します。

定義:
インタフェース SendMail 内の send
パラメータ:
mimeMessages - 送信するメールのMimeMessageインスタンス配列
例外:
MailException - メール送信に失敗した場合
関連項目:
SendMail.send(javax.mail.internet.MimeMessage[])

getCharset

public String getCharset()
エンコーディングに使用する文字コードを返します。

戻り値:
エンコーディングに使用する文字コード

setCharset

public void setCharset(String charset)
メールの件名や本文のエンコーディングに使用する文字コードを指定します。 デフォルトは ISO-2022-JP です。

パラメータ:
charset - エンコーディングに使用する文字コード

getHost

public String getHost()
セットされたSMTPサーバのホスト名、またはIPアドレスを返します。

戻り値:
SMTPサーバのホスト名、またはIPアドレス

setHost

public void setHost(String host)
SMTPサーバのホスト名、またはIPアドレスをセットします。 デフォルトは localhost です。

パラメータ:
host - SMTPサーバのホスト名、またはIPアドレス

getPassword

public String getPassword()
戻り値:
SMTPサーバ認証パスワード

setPassword

public void setPassword(String password)
SMTPサーバの接続認証が必要な場合にパスワードをセットします。

パラメータ:
password - SMTPサーバ認証パスワード

getPort

public int getPort()
戻り値:
SMTPサーバのポート番号

setPort

public void setPort(int port)
SMTPサーバのポート番号をセットします。

パラメータ:
port - SMTPサーバのポート番号

getProtocol

public String getProtocol()
戻り値:
Returns the protocol.

setProtocol

public void setProtocol(String protocol)
パラメータ:
protocol - The protocol to set.

getReturnPath

public String getReturnPath()
戻り値:
Return-Pathアドレス

setReturnPath

public void setReturnPath(String returnPath)
Return-Pathアドレスをセットします。

パラメータ:
returnPath - Return-Pathアドレス

getUsername

public String getUsername()
戻り値:
SMTPサーバ認証ユーザ名

setUsername

public void setUsername(String username)
SMTPサーバの接続認証が必要な場合にユーザ名をセットします。

パラメータ:
username - SMTPサーバ認証ユーザ名


Copyright © 2004-2005 OZACC. All Rights Reserved.