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/25 21:09:11 UTC

svn commit: r1052800 - in /james/server/trunk: queue-activemq/src/test/java/org/apache/james/queue/activemq/ queue-jms/src/test/java/org/apache/james/queue/jms/

Author: norman
Date: Sat Dec 25 20:09:10 2010
New Revision: 1052800

URL: http://svn.apache.org/viewvc?rev=1052800&view=rev
Log:
Move mail priority support test to JMSMailQueueTest as its not specific to AMQ API and should work with every worker that support handling of JMSPriority Property.

Modified:
    james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java
    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/ActiveMQMailQueueBlobTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java?rev=1052800&r1=1052799&r2=1052800&view=diff
==============================================================================
--- james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java (original)
+++ james/server/trunk/queue-activemq/src/test/java/org/apache/james/queue/activemq/ActiveMQMailQueueBlobTest.java Sat Dec 25 20:09:10 2010
@@ -23,12 +23,8 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 
-import javax.jms.ConnectionFactory;
-
 import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.filesystem.api.FileSystem;
-import org.apache.james.queue.jms.JMSMailQueue;
 
 public class ActiveMQMailQueueBlobTest extends ActiveMQMailQueueTest{
     public final static String BASE_DIR = "file://target/james-test";
@@ -36,7 +32,7 @@ public class ActiveMQMailQueueBlobTest e
     private MyFileSystem fs;
     
     protected ActiveMQConnectionFactory createConnectionFactory() {
-        ActiveMQConnectionFactory factory =  new ActiveMQConnectionFactory("vm://localhost?create=false");
+        ActiveMQConnectionFactory factory =  super.createConnectionFactory();
         
         FileSystemBlobTransferPolicy policy = new FileSystemBlobTransferPolicy();
         policy.setFileSystem(fs);
@@ -62,11 +58,8 @@ public class ActiveMQMailQueueBlobTest e
     }
 
     @Override
-    protected JMSMailQueue createQueue(ConnectionFactory factory) {
-        SimpleLog log = new SimpleLog("MockLog");
-        log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
-        ActiveMQMailQueue queue = new ActiveMQMailQueue(factory, "test", true,log);
-        return queue;
+    protected boolean useBlobMessages() {
+        return true;
     }
 
     private final class MyFileSystem implements FileSystem {

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=1052800&r1=1052799&r2=1052800&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 Sat Dec 25 20:09:10 2010
@@ -18,22 +18,14 @@
  ****************************************************************/
 package org.apache.james.queue.activemq;
 
-import java.io.IOException;
-import java.util.Arrays;
-
 import javax.jms.ConnectionFactory;
-import javax.mail.MessagingException;
 
 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.api.MailQueue.MailQueueItem;
 import org.apache.james.queue.jms.JMSMailQueue;
 import org.apache.james.queue.jms.JMSMailQueueTest;
-import org.apache.mailet.Mail;
 
 public class ActiveMQMailQueueTest extends JMSMailQueueTest{
 
@@ -44,62 +36,22 @@ public class ActiveMQMailQueueTest exten
         // 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;
     }
 
     @Override
-    protected JMSMailQueue createQueue(ConnectionFactory factory) {
+    protected JMSMailQueue createQueue(ConnectionFactory factory, String queueName) {
         SimpleLog log = new SimpleLog("MockLog");
         log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
-        ActiveMQMailQueue queue = new ActiveMQMailQueue(factory, "test", false,log);
+        ActiveMQMailQueue queue = new ActiveMQMailQueue(factory, queueName, useBlobMessages(),log);
         return queue;
     }
     
-    public void testPrioritySupport() throws InterruptedException, MessagingException, IOException {
-            // should be empty
-            assertEquals(0, queue.getSize());
-            
-            Mail mail = createMail();
-            Mail mail2 =createMail();
-            mail2.setAttribute(ActiveMQMailQueue.MAIL_PRIORITY, ActiveMQMailQueue.HIGH_PRIORITY);
-
-            queue.enQueue(mail);
-            queue.enQueue(mail2);
-            
-            Thread.sleep(200);
-            
-            assertEquals(2, queue.getSize());
-
-            
-            // we should get mail2 first as it has a higher priority set
-            assertEquals(2, queue.getSize());
-            MailQueueItem item2 = queue.deQueue();
-            checkMail(mail2, item2.getMail());
-            item2.done(true);
-
-            Thread.sleep(200);
-
-            
-            
-            assertEquals(1, queue.getSize());
-            MailQueueItem item3 = queue.deQueue();
-            checkMail(mail, item3.getMail());
-            item3.done(true);
-            
-            Thread.sleep(200);
-
-            // should be empty
-            assertEquals(0, queue.getSize());
-        }
-        
+    protected boolean useBlobMessages() {
+        return false;
+    }
+    
 
 }

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=1052800&r1=1052799&r2=1052800&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 Sat Dec 25 20:09:10 2010
@@ -34,6 +34,8 @@ import javax.mail.internet.MimeMessage;
 
 import org.apache.activemq.ActiveMQConnectionFactory;
 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.commons.logging.impl.SimpleLog;
 import org.apache.james.core.MailImpl;
 import org.apache.james.queue.api.ManageableMailQueue;
@@ -46,13 +48,14 @@ import junit.framework.TestCase;
 public class JMSMailQueueTest extends TestCase{
     protected JMSMailQueue queue;
     private BrokerService broker;
+    protected final static String QUEUE_NAME = "test";
     
     public void setUp() throws Exception{
         broker = createBroker();
         broker.start();
         
         ConnectionFactory connectionFactory = createConnectionFactory();
-        queue = createQueue(connectionFactory);
+        queue = createQueue(connectionFactory, QUEUE_NAME);
         
         super.setUp();
         
@@ -66,14 +69,24 @@ public class JMSMailQueueTest extends Te
         broker.setPersistent(false);
         broker.setUseJmx(false);
         broker.addConnector("tcp://127.0.0.1:61616");
+        
+        
+        // Enable priority support
+        PolicyMap pMap = new PolicyMap();
+        PolicyEntry entry = new PolicyEntry();
+        entry.setPrioritizedMessages(true);
+        entry.setQueue(QUEUE_NAME);
+        pMap.setPolicyEntries(Arrays.asList(entry));
+        broker.setDestinationPolicy(pMap);
+        
         return broker;
         
     }
     
-    protected JMSMailQueue createQueue(ConnectionFactory factory) {
+    protected JMSMailQueue createQueue(ConnectionFactory factory, String queueName) {
         SimpleLog log = new SimpleLog("MockLog");
         log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
-        JMSMailQueue queue = new JMSMailQueue(factory, "testqueue", log );
+        JMSMailQueue queue = new JMSMailQueue(factory, queueName, log );
         return queue;
     }
     
@@ -338,4 +351,43 @@ public class JMSMailQueueTest extends Te
 
 
     }
+    
+    public void testPrioritySupport() throws InterruptedException, MessagingException, IOException {
+        // should be empty
+        assertEquals(0, queue.getSize());
+        
+        Mail mail = createMail();
+        Mail mail2 =createMail();
+        mail2.setAttribute(JMSMailQueue.MAIL_PRIORITY, JMSMailQueue.HIGH_PRIORITY);
+
+        queue.enQueue(mail);
+        queue.enQueue(mail2);
+        
+        Thread.sleep(200);
+        
+        assertEquals(2, queue.getSize());
+
+        
+        // we should get mail2 first as it has a higher priority set
+        assertEquals(2, queue.getSize());
+        MailQueueItem item2 = queue.deQueue();
+        checkMail(mail2, item2.getMail());
+        item2.done(true);
+
+        Thread.sleep(200);
+
+        
+        
+        assertEquals(1, queue.getSize());
+        MailQueueItem item3 = queue.deQueue();
+        checkMail(mail, item3.getMail());
+        item3.done(true);
+        
+        Thread.sleep(200);
+
+        // should be empty
+        assertEquals(0, queue.getSize());
+    }
+    
+
 }



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