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:45:10 UTC

svn commit: r1052367 - 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: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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: svn commit: r1052367 - 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

Posted by Eric Charles <er...@apache.org>.
Hi Norman,
Yes, it makes sense.
We will need to take care to not use ActiveMQ specific apis so we are 
safe when implementing with other JMS provider (HornetQ, RabbitMQ, 
OpenMQ,...)
I guess this is clear for now, but we can always add this in javadoc so 
later committers don't forget about it.

Tks,
Eric

On 24/12/2010 18:44, Norman Maurer wrote:
> Hi Eric,
>
> I don't get why you want to do this. It's just a test dependency.
> queue-jms is a queue implemention which should work with every jms
> implementation which works like descripted in the spec. Activemq is
> such an implementation, so it make sense to test against it.
>
> Bye
> Norman
>
> Am Freitag, 24. Dezember 2010 schrieb Eric Charles<er...@apache.org>:
>> ... or we could make it abstract and move the methods depending on amq to queue-activemq ?
>> Tks,
>> Eric
>>
>> On 24/12/2010 16:06, Norman Maurer wrote:
>>
>> Well it could be possible.. But I don't see anything useful in
>> removing it, its like mocking the database for JPA tests and not use
>> h2 or derby...
>>
>> Bye,
>> Norman
>>
>>
>> 2010/12/24 Eric Charles<er...@apache.org>:
>>
>> 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, norman@apache.org 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/qu
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>


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


Re: svn commit: r1052367 - 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

Posted by Norman Maurer <no...@apache.org>.
Hi Eric,

I don't get why you want to do this. It's just a test dependency.
queue-jms is a queue implemention which should work with every jms
implementation which works like descripted in the spec. Activemq is
such an implementation, so it make sense to test against it.

Bye
Norman

Am Freitag, 24. Dezember 2010 schrieb Eric Charles <er...@apache.org>:
> ... or we could make it abstract and move the methods depending on amq to queue-activemq ?
> Tks,
> Eric
>
> On 24/12/2010 16:06, Norman Maurer wrote:
>
> Well it could be possible.. But I don't see anything useful in
> removing it, its like mocking the database for JPA tests and not use
> h2 or derby...
>
> Bye,
> Norman
>
>
> 2010/12/24 Eric Charles<er...@apache.org>:
>
> 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, norman@apache.org 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/qu

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


Re: svn commit: r1052367 - 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

Posted by Eric Charles <er...@apache.org>.
... or we could make it abstract and move the methods depending on amq 
to queue-activemq ?
Tks,
Eric

On 24/12/2010 16:06, Norman Maurer wrote:
> Well it could be possible.. But I don't see anything useful in
> removing it, its like mocking the database for JPA tests and not use
> h2 or derby...
>
> Bye,
> Norman
>
>
> 2010/12/24 Eric Charles<er...@apache.org>:
>> 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, norman@apache.org 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: server-dev-unsubscribe@james.apache.org
>>> For additional commands, e-mail: server-dev-help@james.apache.org
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>


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


Re: svn commit: r1052367 - 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

Posted by Norman Maurer <no...@apache.org>.
Well it could be possible.. But I don't see anything useful in
removing it, its like mocking the database for JPA tests and not use
h2 or derby...

Bye,
Norman


2010/12/24 Eric Charles <er...@apache.org>:
> 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, norman@apache.org 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: server-dev-unsubscribe@james.apache.org
>> For additional commands, e-mail: server-dev-help@james.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

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


Re: svn commit: r1052367 - 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

Posted by Eric Charles <er...@apache.org>.
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, norman@apache.org 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: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>


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