Author: ieugen
Date: Mon Mar 12 00:33:02 2012
New Revision: 1299504
URL: http://svn.apache.org/viewvc?rev=1299504&view=rev
Log:
JAMES-1393
- updated tests to juni 4.x style
- added @Override and reformated code
Issue #JAMES-1393 - Upgrate all test suites to junit 4.10
Modified:
james/server/trunk/queue-jms/src/test/java/org/apache/james/queue/jms/JMSMailQueueTest.java
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=1299504&r1=1299503&r2=1299504&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
Mon Mar 12 00:33:02 2012
@@ -19,21 +19,12 @@
package org.apache.james.queue.jms;
import java.io.IOException;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.UUID;
+import java.util.*;
import java.util.concurrent.TimeUnit;
-
import javax.jms.ConnectionFactory;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.internet.MimeMessage;
-
-import junit.framework.TestCase;
-
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.region.policy.PolicyEntry;
@@ -45,366 +36,377 @@ import org.apache.james.queue.api.Manage
import org.apache.james.queue.api.ManageableMailQueue.MailQueueIterator;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
+import org.junit.After;
+import static org.junit.Assert.*;
+import org.junit.Before;
+import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class JMSMailQueueTest extends TestCase {
+public class JMSMailQueueTest {
+
protected JMSMailQueue queue;
private BrokerService broker;
protected final static String QUEUE_NAME = "test";
+ @Before
public void setUp() throws Exception {
- broker = createBroker();
- broker.start();
-
- ConnectionFactory connectionFactory = createConnectionFactory();
- queue = createQueue(connectionFactory, QUEUE_NAME);
-
- super.setUp();
+ broker = createBroker();
+ broker.start();
+ ConnectionFactory connectionFactory = createConnectionFactory();
+ queue = createQueue(connectionFactory, QUEUE_NAME);
}
protected ActiveMQConnectionFactory createConnectionFactory() {
- return new ActiveMQConnectionFactory("vm://localhost?create=false");
+ return new ActiveMQConnectionFactory("vm://localhost?create=false");
}
protected BrokerService createBroker() throws Exception {
- BrokerService broker = new BrokerService();
- 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);
+ BrokerService aBroker = new BrokerService();
+ aBroker.setPersistent(false);
+ aBroker.setUseJmx(false);
+ aBroker.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));
+ aBroker.setDestinationPolicy(pMap);
- return broker;
+ return aBroker;
}
protected JMSMailQueue createQueue(ConnectionFactory factory, String
queueName) {
- Logger log = LoggerFactory.getLogger("MockLog");
- // slf4j can't set programmatically any log level. It's just a facade
- // log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
- JMSMailQueue queue = new JMSMailQueue(factory, queueName, log);
- return queue;
+ Logger log = LoggerFactory.getLogger("MockLog");
+ // slf4j can't set programmatically any log level. It's just a facade
+ // log.setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+ JMSMailQueue aQueue = new JMSMailQueue(factory, queueName, log);
+ return aQueue;
}
- @Override
- protected void tearDown() throws Exception {
- if (broker != null) {
- broker.stop();
- }
+ @After
+ public void tearDown() throws Exception {
+ if (broker != null) {
+ broker.stop();
+ }
}
+ @Test
public void testFIFO() throws MessagingException, InterruptedException,
IOException, MailAddressException {
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
- Mail mail = createMail();
- Mail mail2 = createMail();
+ Mail mail = createMail();
+ Mail mail2 = createMail();
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
+ assertEquals(2, queue.getSize());
- MailQueueItem item = queue.deQueue();
- checkMail(mail, item.getMail());
- item.done(false);
+ MailQueueItem item = queue.deQueue();
+ checkMail(mail, item.getMail());
+ item.done(false);
- Thread.sleep(200);
+ Thread.sleep(200);
- // ok we should get the same email again
- assertEquals(2, queue.getSize());
- MailQueueItem item2 = queue.deQueue();
- checkMail(mail, item2.getMail());
- item2.done(true);
+ // ok we should get the same email again
+ assertEquals(2, queue.getSize());
+ MailQueueItem item2 = queue.deQueue();
+ checkMail(mail, item2.getMail());
+ item2.done(true);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(1, queue.getSize());
- MailQueueItem item3 = queue.deQueue();
- checkMail(mail2, item3.getMail());
- item3.done(true);
+ assertEquals(1, queue.getSize());
+ MailQueueItem item3 = queue.deQueue();
+ checkMail(mail2, item3.getMail());
+ item3.done(true);
- Thread.sleep(200);
+ Thread.sleep(200);
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
}
+ @Test
public void testDelayedDeQueue() throws MessagingException,
InterruptedException, IOException, MailAddressException {
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
- Mail mail = createMail();
- Mail mail2 = createMail();
+ Mail mail = createMail();
+ Mail mail2 = createMail();
- long enqueueTime = System.currentTimeMillis();
- queue.enQueue(mail, 3, TimeUnit.SECONDS);
- queue.enQueue(mail2);
+ long enqueueTime = System.currentTimeMillis();
+ queue.enQueue(mail, 3, TimeUnit.SECONDS);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
+ assertEquals(2, queue.getSize());
- // as we enqueued the mail with delay we should get mail2 first
- MailQueueItem item = queue.deQueue();
- checkMail(mail2, item.getMail());
- item.done(true);
+ // as we enqueued the mail with delay we should get mail2 first
+ MailQueueItem item = queue.deQueue();
+ checkMail(mail2, item.getMail());
+ item.done(true);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(1, queue.getSize());
- MailQueueItem item2 = queue.deQueue();
- long dequeueTime = System.currentTimeMillis() - enqueueTime;
- checkMail(mail, item2.getMail());
- item2.done(true);
- assertTrue(dequeueTime >= 2000);
- Thread.sleep(200);
+ assertEquals(1, queue.getSize());
+ MailQueueItem item2 = queue.deQueue();
+ long dequeueTime = System.currentTimeMillis() - enqueueTime;
+ checkMail(mail, item2.getMail());
+ item2.done(true);
+ assertTrue(dequeueTime >= 2000);
+ Thread.sleep(200);
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
}
+ @Test
public void testFlush() throws MessagingException, InterruptedException,
IOException, MailAddressException {
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
- final Mail mail = createMail();
+ final Mail mail = createMail();
- long enqueueTime = System.currentTimeMillis();
- queue.enQueue(mail, 30, TimeUnit.SECONDS);
+ long enqueueTime = System.currentTimeMillis();
+ queue.enQueue(mail, 30, TimeUnit.SECONDS);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(1, queue.getSize());
+ assertEquals(1, queue.getSize());
- Thread flushThread = new Thread(new Runnable() {
+ Thread flushThread = new Thread(new Runnable() {
- public void run() {
- try {
- // wait for 2 seconds then flush the queue
- Thread.sleep(4000);
- assertEquals(1, queue.flush());
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
+ @Override
+ public void run() {
+ try {
+ // wait for 2 seconds then flush the queue
+ Thread.sleep(4000);
+ assertEquals(1, queue.flush());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
- }
- });
- flushThread.start();
+ }
+ });
+ flushThread.start();
- // this will block until flush is called
- MailQueueItem item = queue.deQueue();
- checkMail(mail, item.getMail());
- item.done(true);
+ // this will block until flush is called
+ MailQueueItem item = queue.deQueue();
+ checkMail(mail, item.getMail());
+ item.done(true);
- long dequeueTime = System.currentTimeMillis() - enqueueTime;
+ long dequeueTime = System.currentTimeMillis() - enqueueTime;
- assertEquals(0, queue.getSize());
+ assertEquals(0, queue.getSize());
- // check if the flush kicked in
- assertTrue(dequeueTime < 30 * 1000);
+ // check if the flush kicked in
+ assertTrue(dequeueTime < 30 * 1000);
}
+ @Test
public void testRemoveWithRecipient() throws MessagingException,
InterruptedException, MailAddressException {
- assertEquals(0, queue.getSize());
+ assertEquals(0, queue.getSize());
- Mail mail = createMail();
- mail.setRecipients(Arrays.asList(new MailAddress("remove@me1")));
+ Mail mail = createMail();
+ mail.setRecipients(Arrays.asList(new MailAddress("remove@me1")));
- Mail mail2 = createMail();
- mail2.setRecipients(Arrays.asList(new MailAddress("remove@me2")));
+ Mail mail2 = createMail();
+ mail2.setRecipients(Arrays.asList(new MailAddress("remove@me2")));
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Recipient,
"remove@me1"));
+ assertEquals(2, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Recipient,
"remove@me1"));
- Thread.sleep(200);
- assertEquals(1, queue.getSize());
+ Thread.sleep(200);
+ assertEquals(1, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Recipient,
"remove@me2"));
- assertEquals(0, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Recipient,
"remove@me2"));
+ assertEquals(0, queue.getSize());
}
+ @Test
public void testRemoveWithSender() throws MessagingException,
InterruptedException, MailAddressException {
- assertEquals(0, queue.getSize());
+ assertEquals(0, queue.getSize());
- MailImpl mail = createMail();
- mail.setSender(new MailAddress("remove@me1"));
+ MailImpl mail = createMail();
+ mail.setSender(new MailAddress("remove@me1"));
- MailImpl mail2 = createMail();
- mail2.setSender(new MailAddress("remove@me2"));
+ MailImpl mail2 = createMail();
+ mail2.setSender(new MailAddress("remove@me2"));
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Sender,
"remove@me1"));
+ assertEquals(2, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Sender,
"remove@me1"));
- Thread.sleep(200);
- assertEquals(1, queue.getSize());
+ Thread.sleep(200);
+ assertEquals(1, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Sender,
"remove@me2"));
- assertEquals(0, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Sender,
"remove@me2"));
+ assertEquals(0, queue.getSize());
}
+ @Test
public void testRemoveWithName() throws MessagingException,
InterruptedException, MailAddressException {
- assertEquals(0, queue.getSize());
+ assertEquals(0, queue.getSize());
- MailImpl mail = createMail();
- mail.setName("remove@me1");
+ MailImpl mail = createMail();
+ mail.setName("remove@me1");
- MailImpl mail2 = createMail();
- mail2.setName("remove@me2");
+ MailImpl mail2 = createMail();
+ mail2.setName("remove@me2");
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Name,
"remove@me1"));
+ assertEquals(2, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Name,
"remove@me1"));
- Thread.sleep(200);
- assertEquals(1, queue.getSize());
+ Thread.sleep(200);
+ assertEquals(1, queue.getSize());
- assertEquals(1, queue.remove(ManageableMailQueue.Type.Name,
"remove@me2"));
- assertEquals(0, queue.getSize());
+ assertEquals(1, queue.remove(ManageableMailQueue.Type.Name,
"remove@me2"));
+ assertEquals(0, queue.getSize());
}
protected MailImpl createMail() throws MessagingException,
MailAddressException {
- MailImpl mail = new MailImpl();
- mail.setName("" + System.currentTimeMillis());
- mail.setAttribute("test1", System.currentTimeMillis());
- mail.setErrorMessage(UUID.randomUUID().toString());
- mail.setLastUpdated(new Date());
- mail.setRecipients(Arrays.asList(new MailAddress("test@test"), new
MailAddress("test@test2")));
- mail.setSender(new MailAddress("sender@senderdomain"));
-
- MimeMessage message = new MimeMessage(Session.getInstance(new
Properties()));
- message.setText("test");
- message.setHeader("testheader", "testvalie");
- message.saveChanges();
- mail.setMessage(message);
- return mail;
+ MailImpl mail = new MailImpl();
+ mail.setName("" + System.currentTimeMillis());
+ mail.setAttribute("test1", System.currentTimeMillis());
+ mail.setErrorMessage(UUID.randomUUID().toString());
+ mail.setLastUpdated(new Date());
+ mail.setRecipients(Arrays.asList(new MailAddress("test@test"), new
MailAddress("test@test2")));
+ mail.setSender(new MailAddress("sender@senderdomain"));
+
+ MimeMessage message = new MimeMessage(Session.getInstance(new
Properties()));
+ message.setText("test");
+ message.setHeader("testheader", "testvalie");
+ message.saveChanges();
+ mail.setMessage(message);
+ return mail;
}
@SuppressWarnings("unchecked")
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());
- assertEquals(enqueuedMail.getRemoteAddr(),
dequeuedMail.getRemoteAddr());
- assertEquals(enqueuedMail.getState(), dequeuedMail.getState());
- assertEquals(enqueuedMail.getLastUpdated(),
dequeuedMail.getLastUpdated());
- assertEquals(enqueuedMail.getRemoteHost(),
dequeuedMail.getRemoteHost());
- assertEquals(enqueuedMail.getSender(), dequeuedMail.getSender());
-
- assertEquals(enqueuedMail.getRecipients().size(),
dequeuedMail.getRecipients().size());
- Iterator<String> attributes = enqueuedMail.getAttributeNames();
- while (attributes.hasNext()) {
- String name = attributes.next();
- assertNotNull(dequeuedMail.getAttribute(name));
- }
-
- MimeMessage enqueuedMsg = enqueuedMail.getMessage();
- MimeMessage dequeuedMsg = dequeuedMail.getMessage();
- Enumeration<String> enQueuedHeaders = enqueuedMsg.getAllHeaderLines();
- Enumeration<String> deQueuedHeaders = dequeuedMsg.getAllHeaderLines();
- while (enQueuedHeaders.hasMoreElements()) {
- assertEquals(enQueuedHeaders.nextElement(),
deQueuedHeaders.nextElement());
+ assertEquals(enqueuedMail.getErrorMessage(),
dequeuedMail.getErrorMessage());
+ assertEquals(enqueuedMail.getMessageSize(),
dequeuedMail.getMessageSize());
+ assertEquals(enqueuedMail.getName(), dequeuedMail.getName());
+ assertEquals(enqueuedMail.getRemoteAddr(),
dequeuedMail.getRemoteAddr());
+ assertEquals(enqueuedMail.getState(), dequeuedMail.getState());
+ assertEquals(enqueuedMail.getLastUpdated(),
dequeuedMail.getLastUpdated());
+ assertEquals(enqueuedMail.getRemoteHost(),
dequeuedMail.getRemoteHost());
+ assertEquals(enqueuedMail.getSender(), dequeuedMail.getSender());
+
+ assertEquals(enqueuedMail.getRecipients().size(),
dequeuedMail.getRecipients().size());
+ Iterator<String> attributes = enqueuedMail.getAttributeNames();
+ while (attributes.hasNext()) {
+ String name = attributes.next();
+ assertNotNull(dequeuedMail.getAttribute(name));
+ }
+
+ MimeMessage enqueuedMsg = enqueuedMail.getMessage();
+ MimeMessage dequeuedMsg = dequeuedMail.getMessage();
+ Enumeration<String> enQueuedHeaders = enqueuedMsg.getAllHeaderLines();
+ Enumeration<String> deQueuedHeaders = dequeuedMsg.getAllHeaderLines();
+ while (enQueuedHeaders.hasMoreElements()) {
+ assertEquals(enQueuedHeaders.nextElement(),
deQueuedHeaders.nextElement());
- }
- assertFalse(deQueuedHeaders.hasMoreElements());
+ }
+ assertFalse(deQueuedHeaders.hasMoreElements());
- assertEquals(enqueuedMsg.getContent(), dequeuedMsg.getContent());
+ assertEquals(enqueuedMsg.getContent(), dequeuedMsg.getContent());
}
+ @Test
public void testPrioritySupport() throws InterruptedException,
MessagingException, IOException, MailAddressException {
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
- Mail mail = createMail();
- Mail mail2 = createMail();
- mail2.setAttribute(JMSMailQueue.MAIL_PRIORITY,
JMSMailQueue.HIGH_PRIORITY);
+ Mail mail = createMail();
+ Mail mail2 = createMail();
+ mail2.setAttribute(JMSMailQueue.MAIL_PRIORITY,
JMSMailQueue.HIGH_PRIORITY);
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
+ Thread.sleep(200);
- assertEquals(2, queue.getSize());
+ 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);
+ // 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);
+ Thread.sleep(200);
- assertEquals(1, queue.getSize());
- MailQueueItem item3 = queue.deQueue();
- checkMail(mail, item3.getMail());
- item3.done(true);
+ assertEquals(1, queue.getSize());
+ MailQueueItem item3 = queue.deQueue();
+ checkMail(mail, item3.getMail());
+ item3.done(true);
- Thread.sleep(200);
+ Thread.sleep(200);
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
}
+ @Test
public void testBrowse() throws MessagingException, InterruptedException,
IOException, MailAddressException {
- // should be empty
- assertEquals(0, queue.getSize());
+ // should be empty
+ assertEquals(0, queue.getSize());
- Mail mail = createMail();
- Mail mail2 = createMail();
+ Mail mail = createMail();
+ Mail mail2 = createMail();
- queue.enQueue(mail);
- queue.enQueue(mail2);
+ queue.enQueue(mail);
+ queue.enQueue(mail2);
- Thread.sleep(200);
-
- assertEquals(2, queue.getSize());
-
- MailQueueIterator it = queue.browse();
- checkMail(mail, it.next().getMail());
- checkMail(mail2, it.next().getMail());
- assertFalse(it.hasNext());
- it.close();
-
- assertEquals(2, queue.getSize());
- MailQueueItem item2 = queue.deQueue();
- checkMail(mail, item2.getMail());
- item2.done(true);
- Thread.sleep(200);
-
- assertEquals(1, queue.getSize());
- it = queue.browse();
- checkMail(mail2, it.next().getMail());
- assertFalse(it.hasNext());
- it.close();
+ Thread.sleep(200);
+
+ assertEquals(2, queue.getSize());
+
+ MailQueueIterator it = queue.browse();
+ checkMail(mail, it.next().getMail());
+ checkMail(mail2, it.next().getMail());
+ assertFalse(it.hasNext());
+ it.close();
+
+ assertEquals(2, queue.getSize());
+ MailQueueItem item2 = queue.deQueue();
+ checkMail(mail, item2.getMail());
+ item2.done(true);
+ Thread.sleep(200);
+
+ assertEquals(1, queue.getSize());
+ it = queue.browse();
+ checkMail(mail2, it.next().getMail());
+ assertFalse(it.hasNext());
+ it.close();
}
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]