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 rd...@apache.org on 2007/03/31 14:01:54 UTC

svn commit: r524411 - in /james/jsieve/trunk/src: main/java/org/apache/jsieve/util/check/ test/java/org/apache/jsieve/util/check/

Author: rdonkin
Date: Sat Mar 31 05:01:53 2007
New Revision: 524411

URL: http://svn.apache.org/viewvc?view=rev&rev=524411
Log:
Added methods allowing results to be easily checked against expectations.

Added:
    james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckerTestActionsTest.java
Modified:
    james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptCheckMailAdapter.java
    james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptChecker.java
    james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterHeadersTest.java
    james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterNoMessageSetTest.java

Modified: james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptCheckMailAdapter.java
URL: http://svn.apache.org/viewvc/james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptCheckMailAdapter.java?view=diff&rev=524411&r1=524410&r2=524411
==============================================================================
--- james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptCheckMailAdapter.java (original)
+++ james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptCheckMailAdapter.java Sat Mar 31 05:01:53 2007
@@ -33,6 +33,7 @@
 import org.apache.jsieve.SieveException;
 import org.apache.jsieve.mail.Action;
 import org.apache.jsieve.mail.MailAdapter;
+import org.apache.jsieve.mail.MailUtils;
 import org.apache.jsieve.mail.SieveMailException;
 
 /**
@@ -204,7 +205,7 @@
         List result = Collections.EMPTY_LIST;
         if (mail != null)
         {
-            // TODO: implementation
+            result = MailUtils.getMatchingHeader(this, name);
         }
         return result;
     }

Modified: james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptChecker.java
URL: http://svn.apache.org/viewvc/james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptChecker.java?view=diff&rev=524411&r1=524410&r2=524411
==============================================================================
--- james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptChecker.java (original)
+++ james/jsieve/trunk/src/main/java/org/apache/jsieve/util/check/ScriptChecker.java Sat Mar 31 05:01:53 2007
@@ -30,6 +30,10 @@
 
 import org.apache.jsieve.SieveException;
 import org.apache.jsieve.SieveFactory;
+import org.apache.jsieve.mail.ActionFileInto;
+import org.apache.jsieve.mail.ActionKeep;
+import org.apache.jsieve.mail.ActionRedirect;
+import org.apache.jsieve.mail.ActionReject;
 import org.apache.jsieve.parser.generated.ParseException;
 
 /**
@@ -95,13 +99,13 @@
         private final Exception exception;
         private final List actionsExecuted;
         
-        private Results(final Exception ex) {
+        public Results(final Exception ex) {
             this.exception = ex;
             pass = false;
             actionsExecuted = null;
         }
         
-        private Results(final List actions) {
+        public Results(final List actions) {
             this.pass = true;
             exception = null;
             this.actionsExecuted = actions;
@@ -136,6 +140,74 @@
         }
 
         /**
+         * Is the <code>n<code>'th action a <code>FileInto</code>
+         * with given destination?
+         * @param destination <code>String</code> destination for the file into
+         * @param n index to check
+         * @return  true if the <code>n<code>'th action is a <code>FileInto</code>
+         * with given destination
+         */
+        public boolean isActionFileInto(String destination, int n) {
+            boolean result = false;
+            Object action = actionsExecuted.get(n);
+            if (action != null && action instanceof ActionFileInto) {
+                ActionFileInto actionFileInto = (ActionFileInto) action;
+                result = destination.equals(actionFileInto.getDestination());
+            }
+            return result;
+        }
+        
+        /**
+         * Is the <code>n<code>'th action a <code>Redirect</code>
+         * with given address?
+         * @param address <code>String</code> redirect address
+         * @param n index to check
+         * @return  true if the <code>n<code>'th action is a <code>Redirect</code>
+         * with given redirect address
+         */
+        public boolean isActionRedirect(String address, int n) {
+            boolean result = false;
+            Object action = actionsExecuted.get(n);
+            if (action != null && action instanceof ActionRedirect) {
+                ActionRedirect actionRedirect = (ActionRedirect) action;
+                result = address.equals(actionRedirect.getAddress());
+            }
+            return result;
+        }
+        
+        /**
+         * Is the <code>n<code>'th action a <code>Reject</code>
+         * with given message?
+         * @param address <code>String</code> reject message
+         * @param n index to check
+         * @return  true if the <code>n<code>'th action is a <code>Reject</code>
+         * with given reject message
+         */
+        public boolean isActionReject(String message, int n) {
+            boolean result = false;
+            Object action = actionsExecuted.get(n);
+            if (action != null && action instanceof ActionReject) {
+                ActionReject actionReject = (ActionReject) action;
+                result = message.equals(actionReject.getMessage());
+            }
+            return result;
+        }
+        
+         /**
+         * Is the <code>n<code>'th action a <code>Keep</code>?
+         * @param n index to check
+         * @return  true if the <code>n<code>'th action is a <code>Keep</code>
+         */
+        public boolean isActionKeep(int n) {
+            boolean result = false;
+            Object action = actionsExecuted.get(n);
+            if (action != null && action instanceof ActionKeep) {
+                result = true;
+            }
+            return result;
+        }
+        
+        /**
          * Prints out details of results.
          */
         public String toString() {
@@ -155,5 +227,6 @@
             }
             return buffer.toString();
         }
+
     }
 }

Modified: james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterHeadersTest.java
URL: http://svn.apache.org/viewvc/james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterHeadersTest.java?view=diff&rev=524411&r1=524410&r2=524411
==============================================================================
--- james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterHeadersTest.java (original)
+++ james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterHeadersTest.java Sat Mar 31 05:01:53 2007
@@ -21,15 +21,39 @@
 
 import java.util.List;
 
+import org.apache.jsieve.javaxmail.MockMimeMessage;
+
 import junit.framework.TestCase;
 
 public class ScriptCheckMailAdapterHeadersTest extends TestCase {
-
+    private static final String BCC = "Bcc";
+    private static final String TO = "To";
+    private static final String FROM = "From";
+    private static final int MESSAGE_SIZE = 100;
+    private static final String BCC_ADDRESS_ONE = "bugs@toons.example.org";
+    private static final String BCC_ADDRESS_TWO = "daffy@toons.example.org";
+    private static final String TO_ADDRESS = "roadrunner@acme.example.com";
+    private static final String X_HEADER_NAME = "X-Toon";
+    private static final String X_HEADER_WITH_WS = "   " + X_HEADER_NAME.toLowerCase();
+    private static final String X_HEADER_VALUE = "Road Runner";
+    private static final String X_HEADER_VALUE_ALT = "Wile E. Coyote And Road Runner";
+    private static final String FROM_ADDRESS = "coyote@desert.example.org";
     ScriptCheckMailAdapter adapter;
+    MockMimeMessage message;
     
     protected void setUp() throws Exception {
         super.setUp();
         adapter = new ScriptCheckMailAdapter();
+        message = new MockMimeMessage();
+        message.addHeader(FROM, FROM_ADDRESS);
+        message.addHeader(TO, TO_ADDRESS);
+        message.addHeader(BCC, BCC_ADDRESS_ONE);
+        message.addHeader(BCC, BCC_ADDRESS_TWO);
+        message.addHeader(X_HEADER_NAME, X_HEADER_VALUE);
+        message.addHeader(X_HEADER_NAME.toLowerCase(), X_HEADER_VALUE.toLowerCase());
+        message.addHeader(X_HEADER_WITH_WS, X_HEADER_VALUE_ALT);
+        message.setSize(MESSAGE_SIZE);
+        adapter.setMail(message);
     }
 
     protected void tearDown() throws Exception {
@@ -37,23 +61,52 @@
     }
 
     public void testGetHeader() throws Exception {
-        List headers = adapter.getHeader("From");
+        List headers = adapter.getHeader(FROM);
         assertNotNull(headers);
+        assertEquals("From header", 1, headers.size());
+        assertEquals("From header", FROM_ADDRESS, headers.get(0));
+        headers = adapter.getHeader(BCC);
+        assertEquals("Bcc headers", 2, headers.size());
+        assertTrue("Bcc headers", headers.contains(BCC_ADDRESS_ONE));
+        assertTrue("Bcc headers", headers.contains(BCC_ADDRESS_TWO));
+        headers = adapter.getHeader(X_HEADER_NAME);
+        assertEquals("Case and whitespace sensitive", 1, headers.size());
+        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE, headers.get(0));
+        headers = adapter.getHeader(X_HEADER_NAME.toLowerCase());
+        assertEquals("Case and whitespace sensitive", 1, headers.size());
+        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE.toLowerCase(), headers.get(0));
+        headers = adapter.getHeader(X_HEADER_WITH_WS);
+        assertEquals("Case and whitespace sensitive", 1, headers.size());
+        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE_ALT, headers.get(0));
     }
 
     public void testGetHeaderNames() throws Exception {
         List headers = adapter.getHeaderNames();
         assertNotNull(headers);
+        assertEquals("All headers set returned", 6, headers.size());
+        assertTrue("All headers set returned", headers.contains(BCC));
+        assertTrue("All headers set returned", headers.contains(TO));
+        assertTrue("All headers set returned", headers.contains(FROM));
+        assertTrue("All headers set returned", headers.contains(X_HEADER_NAME));
+        assertTrue("All headers set returned", headers.contains(X_HEADER_NAME.toLowerCase()));
+        assertTrue("All headers set returned", headers.contains(X_HEADER_WITH_WS));
     }
 
     public void testGetMatchingHeader() throws Exception {
-        List headers = adapter.getMatchingHeader("From");
+        List headers = adapter.getMatchingHeader(FROM);
         assertNotNull(headers);
+        assertEquals("From headers set returned", 1, headers.size());
+        assertTrue("From headers set returned", headers.contains(FROM_ADDRESS));
+        headers = adapter.getMatchingHeader(X_HEADER_NAME);
+        assertNotNull(headers);
+        assertEquals("Matches ignoring whitespace and capitalisation headers set returned", 3, headers.size());
+        assertTrue("Matches ignoring whitespace and capitalisation headers set returned", headers.contains(X_HEADER_VALUE));
+        assertTrue("Matches ignoring whitespace and capitalisation headers set returned", headers.contains(X_HEADER_VALUE_ALT));
+        assertTrue("Matches ignoring whitespace and capitalisation headers set returned", headers.contains(X_HEADER_VALUE.toLowerCase()));        
     }
 
-    public void tesGetSize() throws Exception {
+    public void testGetSize() throws Exception {
         int size = adapter.getSize();
-        assertEquals("When mail not set, size is zero", 0, size);
+        assertEquals("Message size set", MESSAGE_SIZE, size);
     }
-    
 }

Modified: james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterNoMessageSetTest.java
URL: http://svn.apache.org/viewvc/james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterNoMessageSetTest.java?view=diff&rev=524411&r1=524410&r2=524411
==============================================================================
--- james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterNoMessageSetTest.java (original)
+++ james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckMailAdapterNoMessageSetTest.java Sat Mar 31 05:01:53 2007
@@ -27,34 +27,11 @@
 
 public class ScriptCheckMailAdapterNoMessageSetTest extends TestCase {
 
-    private static final String BCC = "Bcc";
-    private static final String TO = "To";
-    private static final String FROM = "From";
-    private static final int MESSAGE_SIZE = 100;
-    private static final String BCC_ADDRESS_ONE = "bugs@toons.example.org";
-    private static final String BCC_ADDRESS_TWO = "daffy@toons.example.org";
-    private static final String TO_ADDRESS = "roadrunner@acme.example.com";
-    private static final String X_HEADER_NAME = "X-Toon";
-    private static final String X_HEADER_WITH_WS = "   " + X_HEADER_NAME.toLowerCase();
-    private static final String X_HEADER_VALUE = "Road Runner";
-    private static final String X_HEADER_VALUE_ALT = "Wile E. Coyote And Road Runner";
-    private static final String FROM_ADDRESS = "coyote@desert.example.org";
     ScriptCheckMailAdapter adapter;
-    MockMimeMessage message;
     
     protected void setUp() throws Exception {
         super.setUp();
         adapter = new ScriptCheckMailAdapter();
-        message = new MockMimeMessage();
-        message.addHeader(FROM, FROM_ADDRESS);
-        message.addHeader(TO, TO_ADDRESS);
-        message.addHeader(BCC, BCC_ADDRESS_ONE);
-        message.addHeader(BCC, BCC_ADDRESS_TWO);
-        message.addHeader(X_HEADER_NAME, X_HEADER_VALUE);
-        message.addHeader(X_HEADER_NAME.toLowerCase(), X_HEADER_VALUE.toLowerCase());
-        message.addHeader(X_HEADER_WITH_WS, X_HEADER_VALUE_ALT);
-        message.setSize(MESSAGE_SIZE);
-        adapter.setMail(message);
     }
 
     protected void tearDown() throws Exception {
@@ -62,44 +39,22 @@
     }
 
     public void testGetHeader() throws Exception {
-        List headers = adapter.getHeader(FROM);
+        List headers = adapter.getHeader("From");
         assertNotNull(headers);
-        assertEquals("From header", 1, headers.size());
-        assertEquals("From header", FROM_ADDRESS, headers.get(0));
-        headers = adapter.getHeader(BCC);
-        assertEquals("Bcc headers", 2, headers.size());
-        assertTrue("Bcc headers", headers.contains(BCC_ADDRESS_ONE));
-        assertTrue("Bcc headers", headers.contains(BCC_ADDRESS_TWO));
-        headers = adapter.getHeader(X_HEADER_NAME);
-        assertEquals("Case and whitespace sensitive", 1, headers.size());
-        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE, headers.get(0));
-        headers = adapter.getHeader(X_HEADER_NAME.toLowerCase());
-        assertEquals("Case and whitespace sensitive", 1, headers.size());
-        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE.toLowerCase(), headers.get(0));
-        headers = adapter.getHeader(X_HEADER_WITH_WS);
-        assertEquals("Case and whitespace sensitive", 1, headers.size());
-        assertEquals("Case and whitespace sensitive", X_HEADER_VALUE_ALT, headers.get(0));
     }
 
     public void testGetHeaderNames() throws Exception {
         List headers = adapter.getHeaderNames();
         assertNotNull(headers);
-        assertEquals("All headers set returned", 6, headers.size());
-        assertTrue("All headers set returned", headers.contains(BCC));
-        assertTrue("All headers set returned", headers.contains(TO));
-        assertTrue("All headers set returned", headers.contains(FROM));
-        assertTrue("All headers set returned", headers.contains(X_HEADER_NAME));
-        assertTrue("All headers set returned", headers.contains(X_HEADER_NAME.toLowerCase()));
-        assertTrue("All headers set returned", headers.contains(X_HEADER_WITH_WS));
     }
 
     public void testGetMatchingHeader() throws Exception {
-        List headers = adapter.getMatchingHeader(FROM);
+        List headers = adapter.getMatchingHeader("From");
         assertNotNull(headers);
     }
 
-    public void testGetSize() throws Exception {
+    public void tesGetSize() throws Exception {
         int size = adapter.getSize();
-        assertEquals("Message size set", MESSAGE_SIZE, size);
+        assertEquals("When mail not set, size is zero", 0, size);
     }
 }

Added: james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckerTestActionsTest.java
URL: http://svn.apache.org/viewvc/james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckerTestActionsTest.java?view=auto&rev=524411
==============================================================================
--- james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckerTestActionsTest.java (added)
+++ james/jsieve/trunk/src/test/java/org/apache/jsieve/util/check/ScriptCheckerTestActionsTest.java Sat Mar 31 05:01:53 2007
@@ -0,0 +1,122 @@
+/****************************************************************
+ * 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.jsieve.util.check;
+
+import java.util.Arrays;
+
+import org.apache.jsieve.mail.Action;
+import org.apache.jsieve.mail.ActionFileInto;
+import org.apache.jsieve.mail.ActionKeep;
+import org.apache.jsieve.mail.ActionRedirect;
+import org.apache.jsieve.mail.ActionReject;
+
+import junit.framework.TestCase;
+
+public class ScriptCheckerTestActionsTest extends TestCase {
+    
+    private static final String REDIRECT_ADDRESS_TWO = "roadrunner@acme.example.org";
+    private static final String REDIRECT_ADDRESS_ONE = "coyote@desert.example.org";
+    private static final String REJECT_MESSAGE_TWO = "Oh well";
+    private static final String REJECT_MESSAGE_ONE = "Better luck next time";
+    private static final String DESTINATION_TWO = "org.apache.jakarta";
+    private static final String DESTINATION_ONE = "org.apache.james";
+    
+    static final Action[] ACTIONS = {
+        new ActionFileInto(DESTINATION_ONE),
+        new ActionKeep(),
+        new ActionFileInto(DESTINATION_TWO),
+        new ActionReject(REJECT_MESSAGE_ONE),
+        new ActionRedirect(REDIRECT_ADDRESS_ONE),
+        new ActionRedirect(REDIRECT_ADDRESS_TWO),
+        new ActionReject(REJECT_MESSAGE_TWO),
+    };
+    ScriptChecker.Results result;
+    
+    protected void setUp() throws Exception {
+        super.setUp();
+        result = new ScriptChecker.Results(Arrays.asList(ACTIONS));
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+    
+    public void testFileInto() throws Exception {
+        assertTrue("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 0));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 1));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 2));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 3));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 4));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 5));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_ONE, 6));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 0));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 1));
+        assertTrue("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 2));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 3));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 4));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 5));
+        assertFalse("Check for file into action with right destination", result.isActionFileInto(DESTINATION_TWO, 6));
+    }
+
+    public void testRedirect() throws Exception {
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 0));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 1));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 2));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 3));
+        assertTrue("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 4));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 5));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_ONE, 6));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 0));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 1));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 2));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 3));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 4));
+        assertTrue("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 5));
+        assertFalse("Check for redirect action with right message", result.isActionRedirect(REDIRECT_ADDRESS_TWO, 6));
+    }
+
+
+    public void testReject() throws Exception {
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 0));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 1));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 2));
+        assertTrue("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 3));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 4));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 5));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_ONE, 6));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 0));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 1));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 2));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 3));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 4));
+        assertFalse("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 5));
+        assertTrue("Check for reject action with right message", result.isActionReject(REJECT_MESSAGE_TWO, 6));
+    }
+    
+    public void testKeep() throws Exception {
+        assertFalse("Check for keep action ", result.isActionKeep(0));
+        assertTrue("Check for keep action ", result.isActionKeep(1));
+        assertFalse("Check for keep action ", result.isActionKeep(2));
+        assertFalse("Check for keep action ", result.isActionKeep(3));
+        assertFalse("Check for keep action ", result.isActionKeep(4));
+        assertFalse("Check for keep action ", result.isActionKeep(5));
+        assertFalse("Check for keep action ", result.isActionKeep(6));
+    }
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org