You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by Norman Maurer <nm...@byteaction.de> on 2006/05/30 12:54:07 UTC

Re: svn commit: r410236 - in /james/server/trunk/src/test/org/apache/james/transport/matchers: AllTest.java FetchedFromTest.java HasHeaderTest.java

Anyone has problems with adding all this junit tests? I think haven
1000th of tests is btter then no test.. So we can really get sure that
all work as  espected when making changes..

I also will continue this work without reporting to mailling list and
commit if noone has problems with this. 

bye
Norman

Am Dienstag, den 30.05.2006, 10:44 +0000 schrieb norman@apache.org:
> Author: norman
> Date: Tue May 30 03:44:56 2006
> New Revision: 410236
> 
> URL: http://svn.apache.org/viewvc?rev=410236&view=rev
> Log:
> -Add junit test for FetchedFrom matcher
> -use the right Assert methods
> 
> Added:
>     james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java
> Modified:
>     james/server/trunk/src/test/org/apache/james/transport/matchers/AllTest.java
>     james/server/trunk/src/test/org/apache/james/transport/matchers/HasHeaderTest.java
> 
> 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=410236&r1=410235&r2=410236&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 03:44:56 2006
> @@ -27,6 +27,7 @@
>  
>  import java.io.UnsupportedEncodingException;
>  import java.util.Arrays;
> +import java.util.Collection;
>  
>  import junit.framework.TestCase;
>  
> @@ -59,9 +60,11 @@
>          setupMockedMail();
>          setupMatcher();
>  
> -        assertTrue(matcher.match(mockedMail) != null);
> -        assertEquals(matcher.match(mockedMail).size(), mockedMail
> -                .getRecipients().size());
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +
> +        assertNotNull(matchedRecipients);
> +        assertEquals(matchedRecipients.size(), mockedMail.getRecipients()
> +                .size());
>      }
>  
>  }
> 
> Added: 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=410236&view=auto
> ==============================================================================
> --- james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java (added)
> +++ james/server/trunk/src/test/org/apache/james/transport/matchers/FetchedFromTest.java Tue May 30 03:44:56 2006
> @@ -0,0 +1,139 @@
> +/***********************************************************************
> + * 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.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 FetchedFromTest extends TestCase {
> +
> +    private MimeMessage mockedMimeMessage;
> +
> +    private MockMail mockedMail;
> +
> +    private Matcher matcher;
> +
> +    private final String HEADER_NAME = "X-fetched-from";
> +
> +    private final String HEADER_VALUE = "james-user";
> +
> +    private String headerName = "defaultHeaderName";
> +
> +    private String headerValue = "defaultHeaderValue";
> +
> +    public FetchedFromTest(String arg0) throws UnsupportedEncodingException {
> +        super(arg0);
> +    }
> +
> +    private void setHeaderName(String headerName) {
> +        this.headerName = headerName;
> +    }
> +
> +    private void setHeaderValue(String headerValue) {
> +        this.headerValue = headerValue;
> +    }
> +
> +    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.setHeader(headerName, headerValue);
> +        mockedMimeMessage.setSubject("testmail");
> +        mockedMimeMessage.setText("testtext");
> +        mockedMimeMessage.saveChanges();
> +
> +    }
> +
> +    private void setupMockedMail(MimeMessage m) {
> +        mockedMail = new MockMail();
> +        mockedMail.setMessage(m);
> +        mockedMail.setRecipients(Arrays.asList(new String[] {
> +                "test@james.apache.org", "test2@james.apache.org" }));
> +
> +    }
> +
> +    private void setupMatcher() throws MessagingException {
> +        setupMockedMimeMessage();
> +        matcher = new FetchedFrom();
> +        MockMatcherConfig mci = new MockMatcherConfig("FetchedFrom="
> +                + HEADER_VALUE, new MockMailContext());
> +        matcher.init(mci);
> +    }
> +
> +    // test if the Header was matched
> +    public void testHeaderIsMatched() throws MessagingException {
> +        setHeaderName(HEADER_NAME);
> +        setHeaderValue(HEADER_VALUE);
> +
> +        setupMockedMimeMessage();
> +        setupMockedMail(mockedMimeMessage);
> +        setupMatcher();
> +
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +        assertNotNull(matchedRecipients);
> +        assertEquals(matchedRecipients.size(), mockedMail.getRecipients()
> +                .size());
> +    }
> +
> +    // test if the Header was not matched
> +    public void testHeaderIsNotMatched() throws MessagingException {
> +        setHeaderName(HEADER_NAME);
> +        setHeaderValue(headerValue);
> +
> +        setupMockedMimeMessage();
> +        setupMockedMail(mockedMimeMessage);
> +        setupMatcher();
> +
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +        assertNull(matchedRecipients);
> +    }
> +
> +    // test if the Header was removed after matched
> +    public void testHeaderWasRemovedAfterMatched() throws MessagingException {
> +        setHeaderName(HEADER_NAME);
> +        setHeaderValue(HEADER_VALUE);
> +
> +        setupMockedMimeMessage();
> +        setupMockedMail(mockedMimeMessage);
> +        setupMatcher();
> +
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +        Collection matchedRecipients2 = matcher.match(mockedMail);
> +
> +        assertNotNull(matchedRecipients);
> +        assertNull(matchedRecipients2);
> +    }
> +}
> 
> 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=410236&r1=410235&r2=410236&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 03:44:56 2006
> @@ -31,6 +31,7 @@
>  
>  import java.io.UnsupportedEncodingException;
>  import java.util.Arrays;
> +import java.util.Collection;
>  
>  import junit.framework.TestCase;
>  
> @@ -101,15 +102,21 @@
>          setupMockedMail(mockedMimeMessage);
>          setupMatcher();
>  
> -        assertTrue(matcher.match(mockedMail) != null);
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +
> +        assertNotNull(matchedRecipients);
> +        assertEquals(matchedRecipients.size(), mockedMail.getRecipients()
> +                .size());
>      }
>  
> -    // test if the Header was matched
> +    // test if the Header was not matched
>      public void testHeaderIsNotMatched() throws MessagingException {
>          setupMockedMimeMessage();
>          setupMockedMail(mockedMimeMessage);
>          setupMatcher();
>  
> -        assertTrue(matcher.match(mockedMail) == null);
> +        Collection matchedRecipients = matcher.match(mockedMail);
> +
> +        assertNull(matchedRecipients);
>      }
>  }
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
> 
> !EXCUBATOR:1,447c23ef37021446011432!