Repository: james-project Updated Branches: refs/heads/master 8437d54e1 -> f9f6e8499
AbstractMailQueueFactoryTest should be tested Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/f9f6e849 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/f9f6e849 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/f9f6e849 Branch: refs/heads/master Commit: f9f6e84991a064555cca60e99e555b4f5e2bae19 Parents: 8437d54 Author: Benoit Tellier <[email protected]> Authored: Thu Mar 31 16:46:14 2016 +0700 Committer: Benoit Tellier <[email protected]> Committed: Thu Mar 31 16:46:14 2016 +0700 ---------------------------------------------------------------------- .../library/AbstractMailQueueFactoryTest.java | 140 ------------------ .../library/AbstractMailQueueFactoryTest.java | 144 +++++++++++++++++++ 2 files changed, 144 insertions(+), 140 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/f9f6e849/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java ---------------------------------------------------------------------- diff --git a/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java deleted file mode 100644 index 7ccb26c..0000000 --- a/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java +++ /dev/null @@ -1,140 +0,0 @@ -/**************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one * - * or more contributor license agreements. See the NOTICE file * - * distributed with this work for additional information * - * regarding copyright ownership. The ASF licenses this file * - * to you under the Apache License, Version 2.0 (the * - * "License"); you may not use this file except in compliance * - * with the License. You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, * - * software distributed under the License is distributed on an * - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * - * KIND, either express or implied. See the License for the * - * specific language governing permissions and limitations * - * under the License. * - ****************************************************************/ - -package org.apache.james.queue.library; - -import static org.mockito.Mockito.*; - -import org.apache.james.queue.api.MailQueue; -import org.apache.james.queue.api.ManageableMailQueue; -import org.apache.mailet.Mail; -import org.junit.Before; -import org.junit.Test; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import javax.management.InstanceNotFoundException; -import javax.management.MBeanServer; -import javax.management.ObjectName; -import java.util.concurrent.TimeUnit; - -public class AbstractMailQueueFactoryTest { - - private static final Logger LOGGER = LoggerFactory.getLogger(AbstractMailQueueFactoryTest.class); - private static final String QUEUE_1 = "queue1"; - private static final String QUEUE_2 = "queue2"; - private static final String QUEUE_3 = "queue3"; - - private AbstractMailQueueFactory abstractMailQueueFactory; - private MBeanServer mBeanServer; - - @Before - public void setUp() { - mBeanServer = mock(MBeanServer.class); - abstractMailQueueFactory = new AbstractMailQueueFactory() { - @Override - protected MailQueue createMailQueue(String name) { - return new ManageableMailQueue() { - - @Override - public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException { - - } - - @Override - public void enQueue(Mail mail) throws MailQueueException { - - } - - @Override - public MailQueueItem deQueue() throws MailQueueException { - return null; - } - - @Override - public long getSize() throws MailQueueException { - return 0; - } - - @Override - public long flush() throws MailQueueException { - return 0; - } - - @Override - public long clear() throws MailQueueException { - return 0; - } - - @Override - public long remove(Type type, String value) throws MailQueueException { - return 0; - } - - @Override - public MailQueueIterator browse() throws MailQueueException { - return null; - } - }; - } - }; - abstractMailQueueFactory.setMbeanServer(mBeanServer); - abstractMailQueueFactory.setLog(LOGGER); - } - - @Test - public void destroyShouldRegisterManageableQueues() throws Exception { - abstractMailQueueFactory.getQueue(QUEUE_1); - verify(mBeanServer).registerMBean(any(MailQueue.class), eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); - } - - @Test - public void destroyShouldUnregisterAllRegisterQueue() throws Exception { - abstractMailQueueFactory.getQueue(QUEUE_1); - abstractMailQueueFactory.getQueue(QUEUE_2); - abstractMailQueueFactory.getQueue(QUEUE_3); - abstractMailQueueFactory.destroy(); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_2))); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_3))); - } - - @Test - public void unregisterMBeanShouldWork() throws Exception { - abstractMailQueueFactory.getQueue(QUEUE_1); - abstractMailQueueFactory.unregisterMBean(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); - } - - @Test - public void destroyShouldNotBeStoppedByExceptions() throws Exception { - abstractMailQueueFactory.getQueue(QUEUE_1); - abstractMailQueueFactory.getQueue(QUEUE_2); - abstractMailQueueFactory.getQueue(QUEUE_3); - doThrow(InstanceNotFoundException.class) - .doNothing() - .when(mBeanServer) - .unregisterMBean(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1)); - abstractMailQueueFactory.destroy(); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_2))); - verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_3))); - } - -} http://git-wip-us.apache.org/repos/asf/james-project/blob/f9f6e849/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java ---------------------------------------------------------------------- diff --git a/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java new file mode 100644 index 0000000..e2becf2 --- /dev/null +++ b/server/queue/queue-jms/src/test/java/org/apache/james/queue/library/AbstractMailQueueFactoryTest.java @@ -0,0 +1,144 @@ +/**************************************************************** + * Licensed to the Apache Software Foundation (ASF) under one * + * or more contributor license agreements. See the NOTICE file * + * distributed with this work for additional information * + * regarding copyright ownership. The ASF licenses this file * + * to you under the Apache License, Version 2.0 (the * + * "License"); you may not use this file except in compliance * + * with the License. You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, * + * software distributed under the License is distributed on an * + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * + * KIND, either express or implied. See the License for the * + * specific language governing permissions and limitations * + * under the License. * + ****************************************************************/ + +package org.apache.james.queue.library; + +import static org.mockito.Mockito.any; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; + +import org.apache.james.queue.api.MailQueue; +import org.apache.james.queue.api.ManageableMailQueue; +import org.apache.mailet.Mail; +import org.junit.Before; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.management.InstanceNotFoundException; +import javax.management.MBeanServer; +import javax.management.ObjectName; +import java.util.concurrent.TimeUnit; + +public class AbstractMailQueueFactoryTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(AbstractMailQueueFactoryTest.class); + private static final String QUEUE_1 = "queue1"; + private static final String QUEUE_2 = "queue2"; + private static final String QUEUE_3 = "queue3"; + + private AbstractMailQueueFactory abstractMailQueueFactory; + private MBeanServer mBeanServer; + + @Before + public void setUp() { + mBeanServer = mock(MBeanServer.class); + abstractMailQueueFactory = new AbstractMailQueueFactory() { + @Override + protected MailQueue createMailQueue(String name) { + return new ManageableMailQueue() { + + @Override + public void enQueue(Mail mail, long delay, TimeUnit unit) throws MailQueueException { + + } + + @Override + public void enQueue(Mail mail) throws MailQueueException { + + } + + @Override + public MailQueueItem deQueue() throws MailQueueException { + return null; + } + + @Override + public long getSize() throws MailQueueException { + return 0; + } + + @Override + public long flush() throws MailQueueException { + return 0; + } + + @Override + public long clear() throws MailQueueException { + return 0; + } + + @Override + public long remove(Type type, String value) throws MailQueueException { + return 0; + } + + @Override + public MailQueueIterator browse() throws MailQueueException { + return null; + } + }; + } + }; + abstractMailQueueFactory.setMbeanServer(mBeanServer); + abstractMailQueueFactory.setLog(LOGGER); + } + + @Test + public void destroyShouldRegisterManageableQueues() throws Exception { + abstractMailQueueFactory.getQueue(QUEUE_1); + verify(mBeanServer).registerMBean(any(MailQueue.class), eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); + } + + @Test + public void destroyShouldUnregisterAllRegisterQueue() throws Exception { + abstractMailQueueFactory.getQueue(QUEUE_1); + abstractMailQueueFactory.getQueue(QUEUE_2); + abstractMailQueueFactory.getQueue(QUEUE_3); + abstractMailQueueFactory.destroy(); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_2))); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_3))); + } + + @Test + public void unregisterMBeanShouldWork() throws Exception { + abstractMailQueueFactory.getQueue(QUEUE_1); + abstractMailQueueFactory.unregisterMBean(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); + } + + @Test + public void destroyShouldNotBeStoppedByExceptions() throws Exception { + abstractMailQueueFactory.getQueue(QUEUE_1); + abstractMailQueueFactory.getQueue(QUEUE_2); + abstractMailQueueFactory.getQueue(QUEUE_3); + doThrow(InstanceNotFoundException.class) + .doNothing() + .when(mBeanServer) + .unregisterMBean(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1)); + abstractMailQueueFactory.destroy(); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_1))); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_2))); + verify(mBeanServer).unregisterMBean(eq(new ObjectName(AbstractMailQueueFactory.MBEAN_NAME_QUEUE_PREFIX + QUEUE_3))); + } + +} --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
