Hi,
JMSMailQueueTest in queue-jms uses the AMQ Broker.
Would it be possible to mock the broker (get rid of amq dependencies) in queue-jms?

Tks,
Eric

On 23/12/2010 20:45, [email protected] wrote:
Author: norman
Date: Thu Dec 23 19:45:09 2010
New Revision: 1052367

URL: http://svn.apache.org/viewvc?rev=1052367&view=rev
Log:
Add tests for mail priority support. I think all functions of our MailQueue 
implementations are now tested

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=1052367&r1=1052366&r2=1052367&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:45:09 2010
@@ -18,9 +18,11 @@
   ****************************************************************/
  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;
@@ -28,8 +30,10 @@ import org.apache.activemq.broker.region
  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{

@@ -59,5 +63,43 @@ public class ActiveMQMailQueueTest exten
          ActiveMQMailQueue queue = new ActiveMQMailQueue(factory, "test", 
false,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());
+        }
+

  }

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=1052367&r1=1052366&r2=1052367&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:45:09 2010
@@ -44,7 +44,7 @@ import org.apache.mailet.MailAddress;
  import junit.framework.TestCase;

  public class JMSMailQueueTest extends TestCase{
-    private JMSMailQueue queue;
+    protected JMSMailQueue queue;
      private BrokerService broker;

      public void setUp() throws Exception{
@@ -288,7 +288,7 @@ public class JMSMailQueueTest extends Te

      }

-    private MailImpl createMail() throws MessagingException {
+    protected MailImpl createMail() throws MessagingException {
          MailImpl mail = new MailImpl();
          mail.setName("" + System.currentTimeMillis());
          mail.setAttribute("test1", System.currentTimeMillis());
@@ -306,7 +306,7 @@ public class JMSMailQueueTest extends Te

      }
      @SuppressWarnings("unchecked")
-    private void checkMail(Mail enqueuedMail, Mail dequeuedMail) throws 
MessagingException, IOException {
+    protected void checkMail(Mail enqueuedMail, Mail dequeuedMail) throws 
MessagingException, IOException {
          assertEquals(enqueuedMail.getErrorMessage(), 
dequeuedMail.getErrorMessage());
          assertEquals(enqueuedMail.getMessageSize(), 
dequeuedMail.getMessageSize());
          assertEquals(enqueuedMail.getName(), dequeuedMail.getName());



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to