Author: norman Date: Tue May 30 10:35:25 2006 New Revision: 410322 URL: http://svn.apache.org/viewvc?rev=410322&view=rev Log: -setRecipient() now use MailAddress[] -Add junit test for HostIs matcher
Added: james/server/trunk/src/test/org/apache/james/transport/matchers/HostIsTest.java Modified: james/server/trunk/src/test/org/apache/james/transport/mailets/AddHeaderTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueRegexTest.java james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueTest.java Modified: james/server/trunk/src/test/org/apache/james/transport/mailets/AddHeaderTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/mailets/AddHeaderTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/mailets/AddHeaderTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/mailets/AddHeaderTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMailetConfig; import org.apache.mailet.Mail; +import org.apache.mailet.MailAddress; import org.apache.mailet.Mailet; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.UnsupportedEncodingException; @@ -76,11 +78,11 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), new MailAddress("[EMAIL PROTECTED]") })); } Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java Tue May 30 10:35:25 2006 @@ -21,9 +21,11 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; +import javax.mail.internet.ParseException; import java.io.UnsupportedEncodingException; import java.util.Arrays; @@ -41,10 +43,11 @@ super(arg0); } - private void setupMockedMail() { + private void setupMockedMail() throws ParseException { mockedMail = new MockMail(); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") })); } Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.UnsupportedEncodingException; @@ -77,11 +79,12 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") })); } Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.UnsupportedEncodingException; @@ -77,11 +79,12 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") })); } Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.Serializable; @@ -78,12 +80,14 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); - mockedMail.setAttribute(mailAttributeName, (Serializable) mailAttributeValue); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") })); + mockedMail.setAttribute(mailAttributeName, + (Serializable) mailAttributeValue); } Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueRegexTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueRegexTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueRegexTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueRegexTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.Serializable; @@ -84,11 +86,12 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") })); mockedMail.setAttribute(mailAttributeName, (Serializable) mailAttributeValue); Modified: james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueTest.java?rev=410322&r1=410321&r2=410322&view=diff ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueTest.java (original) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/HasMailAttributeWithValueTest.java Tue May 30 10:35:25 2006 @@ -22,11 +22,13 @@ import org.apache.james.test.mock.mailet.MockMailContext; import org.apache.james.test.mock.mailet.MockMatcherConfig; +import org.apache.mailet.MailAddress; import org.apache.mailet.Matcher; import javax.mail.MessagingException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.mail.internet.ParseException; import javax.mail.internet.MimeMessage.RecipientType; import java.io.Serializable; @@ -78,11 +80,11 @@ } - private void setupMockedMail(MimeMessage m) { + private void setupMockedMail(MimeMessage m) throws ParseException { mockedMail = new MockMail(); mockedMail.setMessage(m); - mockedMail.setRecipients(Arrays.asList(new String[] { - "[EMAIL PROTECTED]", "[EMAIL PROTECTED]" })); + mockedMail.setRecipients(Arrays.asList(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), new MailAddress("[EMAIL PROTECTED]") })); mockedMail.setAttribute(mailAttributeName, (Serializable) mailAttributeValue); Added: james/server/trunk/src/test/org/apache/james/transport/matchers/HostIsTest.java URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/transport/matchers/HostIsTest.java?rev=410322&view=auto ============================================================================== --- james/server/trunk/src/test/org/apache/james/transport/matchers/HostIsTest.java (added) +++ james/server/trunk/src/test/org/apache/james/transport/matchers/HostIsTest.java Tue May 30 10:35:25 2006 @@ -0,0 +1,134 @@ +/*********************************************************************** + * Copyright (c) 2006 The Apache Software Foundation. * + * All rights reserved. * + * ------------------------------------------------------------------- * + * Licensed under the Apache License, Version 2.0 (the "License"); you * + * may not use this file except in compliance with the License. You * + * may obtain a copy of the License at: * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * + * implied. See the License for the specific language governing * + * permissions and limitations under the License. * + ***********************************************************************/ + +package org.apache.james.transport.matchers; + +import org.apache.james.test.mock.javaxmail.MockMimeMessage; +import org.apache.james.test.mock.mailet.MockMail; +import org.apache.james.test.mock.mailet.MockMailContext; +import org.apache.james.test.mock.mailet.MockMatcherConfig; + +import org.apache.mailet.MailAddress; +import org.apache.mailet.Matcher; + +import javax.mail.MessagingException; +import javax.mail.internet.InternetAddress; +import javax.mail.internet.MimeMessage; +import javax.mail.internet.MimeMessage.RecipientType; + +import java.io.UnsupportedEncodingException; +import java.util.Arrays; +import java.util.Collection; + +import junit.framework.TestCase; + +public class HostIsTest extends TestCase { + + private MimeMessage mockedMimeMessage; + + private MockMail mockedMail; + + private Matcher matcher; + + private final String HOST_NAME = "james.apache.org"; + + private MailAddress[] recipients; + + public HostIsTest(String arg0) throws UnsupportedEncodingException { + super(arg0); + } + + private void setRecipients(MailAddress[] recipients) { + this.recipients = recipients; + } + + private void setupMockedMimeMessage() throws MessagingException { + String sender = "[EMAIL PROTECTED]"; + String rcpt = "[EMAIL PROTECTED]"; + + mockedMimeMessage = new MockMimeMessage(); + mockedMimeMessage.setFrom(new InternetAddress(sender)); + mockedMimeMessage.setRecipients(RecipientType.TO, rcpt); + mockedMimeMessage.setSubject("testmail"); + mockedMimeMessage.setText("testtext"); + mockedMimeMessage.saveChanges(); + + } + + private void setupMockedMail(MimeMessage m) { + mockedMail = new MockMail(); + mockedMail.setMessage(m); + mockedMail.setRecipients(Arrays.asList(recipients)); + + } + + private void setupMatcher() throws MessagingException { + setupMockedMimeMessage(); + matcher = new HostIs(); + MockMatcherConfig mci = new MockMatcherConfig("HostIs=" + HOST_NAME, + new MockMailContext()); + matcher.init(mci); + } + + // test if all recipients get returned as matched + public void testHostIsMatchedAllRecipients() throws MessagingException { + setRecipients(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") }); + + setupMockedMimeMessage(); + setupMockedMail(mockedMimeMessage); + setupMatcher(); + + Collection matchedRecipients = matcher.match(mockedMail); + + assertNotNull(matchedRecipients); + assertEquals(matchedRecipients.size(), mockedMail.getRecipients() + .size()); + } + + // test if one recipients get returned as matched + public void testHostIsMatchedOneRecipient() throws MessagingException { + setRecipients(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") }); + + setupMockedMimeMessage(); + setupMockedMail(mockedMimeMessage); + setupMatcher(); + + Collection matchedRecipients = matcher.match(mockedMail); + + assertNotNull(matchedRecipients); + assertEquals(matchedRecipients.size(), 1); + } + + // test if no recipient get returned cause it not match + public void testHostIsNotMatch() throws MessagingException { + setRecipients(new MailAddress[] { + new MailAddress("[EMAIL PROTECTED]"), + new MailAddress("[EMAIL PROTECTED]") }); + + setupMockedMimeMessage(); + setupMockedMail(mockedMimeMessage); + setupMatcher(); + + Collection matchedRecipients = matcher.match(mockedMail); + + assertEquals(matchedRecipients.size(), 0); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]