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 no...@apache.org on 2010/12/23 20:17:00 UTC

svn commit: r1052361 - in /james/server/trunk: queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java

Author: norman
Date: Thu Dec 23 19:16:59 2010
New Revision: 1052361

URL: http://svn.apache.org/viewvc?rev=1052361&view=rev
Log:
More MailQueue tests

Modified:
    james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java
    james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java

Modified: james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java?rev=1052361&r1=1052360&r2=1052361&view=diff
==============================================================================
--- james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java (original)
+++ james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueTest.java Thu Dec 23 19:16:59 2010
@@ -18,10 +18,14 @@
  ****************************************************************/
 package org.apache.james.queue.activemq;
 
+import java.util.Arrays;
+
 import javax.jms.ConnectionFactory;
 
 import org.apache.activemq.broker.BrokerPlugin;
 import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.region.policy.PolicyEntry;
+import org.apache.activemq.broker.region.policy.PolicyMap;
 import org.apache.activemq.plugin.StatisticsBrokerPlugin;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.queue.jms.JMSMailQueue;
@@ -33,7 +37,18 @@ public class ActiveMQMailQueueTest exten
     @Override
     protected BrokerService createBroker() throws Exception {
         BrokerService broker =  super.createBroker();
+        // Enable statistics
         broker.setPlugins(new BrokerPlugin[] {new StatisticsBrokerPlugin()});
+        broker.setEnableStatistics(true);
+        
+        // Enable priority support
+        PolicyMap pMap = new PolicyMap();
+        PolicyEntry entry = new PolicyEntry();
+        entry.setPrioritizedMessages(true);
+        entry.setQueue("test");
+        pMap.setPolicyEntries(Arrays.asList(entry));
+        broker.setDestinationPolicy(pMap);
+        
         return broker;
     }
 

Modified: james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java?rev=1052361&r1=1052360&r2=1052361&view=diff
==============================================================================
--- james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java (original)
+++ james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java Thu Dec 23 19:16:59 2010
@@ -35,6 +35,7 @@ import org.apache.activemq.ActiveMQConne
 import org.apache.activemq.broker.BrokerService;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.core.MailImpl;
+import org.apache.james.queue.api.ManageableMailQueue;
 import org.apache.james.queue.api.MailQueue.MailQueueItem;
 import org.apache.mailet.Mail;
 import org.apache.mailet.MailAddress;
@@ -126,7 +127,87 @@ public class JMSMailQueueTest extends Te
         assertEquals(0, queue.getSize());
     }
     
-    private Mail createMail() throws MessagingException {
+    public void testRemoveWithRecipient() throws MessagingException, InterruptedException {
+        assertEquals(0, queue.getSize());
+
+        Mail mail = createMail();
+        mail.setRecipients(Arrays.asList(new MailAddress("remove@me1")));
+
+        Mail mail2 =createMail();
+        mail2.setRecipients(Arrays.asList(new MailAddress("remove@me2")));
+        
+
+        queue.enQueue(mail);
+        queue.enQueue(mail2);
+        
+        Thread.sleep(200);
+        
+        assertEquals(2, queue.getSize());
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Recipient, "remove@me1"));
+        
+        Thread.sleep(200);
+        assertEquals(1, queue.getSize());
+        
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Recipient, "remove@me2"));
+        assertEquals(0, queue.getSize());
+
+
+    }
+    public void testRemoveWithSender() throws MessagingException, InterruptedException {
+        assertEquals(0, queue.getSize());
+
+        MailImpl mail = createMail();
+        mail.setSender(new MailAddress("remove@me1"));
+
+        MailImpl mail2 =createMail();
+        mail2.setSender(new MailAddress("remove@me2"));
+        
+
+        queue.enQueue(mail);
+        queue.enQueue(mail2);
+        
+        Thread.sleep(200);
+        
+        assertEquals(2, queue.getSize());
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Sender, "remove@me1"));
+        
+        Thread.sleep(200);
+        assertEquals(1, queue.getSize());
+        
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Sender, "remove@me2"));
+        assertEquals(0, queue.getSize());
+
+
+    }
+     
+    public void testRemoveWithName() throws MessagingException, InterruptedException {
+        assertEquals(0, queue.getSize());
+
+        MailImpl mail = createMail();
+        mail.setName("remove@me1");
+
+        MailImpl mail2 =createMail();
+        mail2.setName("remove@me2");
+        
+
+        queue.enQueue(mail);
+        queue.enQueue(mail2);
+        
+        Thread.sleep(200);
+        
+        assertEquals(2, queue.getSize());
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Name, "remove@me1"));
+        
+        Thread.sleep(200);
+        assertEquals(1, queue.getSize());
+        
+        assertEquals(1,queue.remove(ManageableMailQueue.Type.Name, "remove@me2"));
+        assertEquals(0, queue.getSize());
+
+
+    }
+    
+    private MailImpl createMail() throws MessagingException {
         MailImpl mail = new MailImpl();
         mail.setName("" + System.currentTimeMillis());
         mail.setAttribute("test1", System.currentTimeMillis());



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