📄 recipientistest.java
字号:
/**************************************************************** * Licensed to the Apache Software Foundation (ASF) under one * * or more contributor license agreements. See the NOTICE file * * distributed with this work for additional information * * regarding copyright ownership. The ASF licenses this file * * to you 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 RecipientIsTest extends TestCase { private MimeMessage mockedMimeMessage; private MockMail mockedMail; private Matcher matcher; private final String RECIPIENT_NAME = "test@james.apache.org"; private MailAddress[] recipients; public RecipientIsTest(String arg0) throws UnsupportedEncodingException { super(arg0); } private void setRecipients(MailAddress[] recipients) { this.recipients = recipients; } private void setupMockedMimeMessage() throws MessagingException { String sender = "test@james.apache.org"; String rcpt = "test2@james.apache.org"; 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 RecipientIs(); MockMatcherConfig mci = new MockMatcherConfig("RecipientIs=" + RECIPIENT_NAME, new MockMailContext()); matcher.init(mci); } // test if the recipients get returned as matched public void testHostIsMatchedAllRecipients() throws MessagingException { setRecipients(new MailAddress[] { new MailAddress( "test@james.apache.org") }); 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("test@james.apache.org"), new MailAddress("test2@james.apache.org") }); 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("test@james2.apache.org"), new MailAddress("test2@james2.apache.org") }); setupMockedMimeMessage(); setupMockedMail(mockedMimeMessage); setupMatcher(); Collection matchedRecipients = matcher.match(mockedMail); assertEquals(matchedRecipients.size(), 0); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -