diff options
| author | Robert Gemmell <robbie@apache.org> | 2009-07-21 09:12:28 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2009-07-21 09:12:28 +0000 |
| commit | 6447a16f4196da92def8b834423659a187fc96af (patch) | |
| tree | 170ea7279715a8881116c718fea1cc3ff377e451 /java/broker/src/test | |
| parent | 6eab5ad04372862ab3284cbf547e028e308c601a (diff) | |
| download | qpid-python-6447a16f4196da92def8b834423659a187fc96af.tar.gz | |
QPID-1968: Expose deleteMessages() queue operation through the JMX MBean interface, add test for deleteMessages()
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@796203 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/test')
| -rw-r--r-- | java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java index 80a9275954..1138b465cd 100644 --- a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java +++ b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueMBeanTest.java @@ -108,6 +108,52 @@ public class AMQQueueMBeanTest extends TestCase //Ensure that the data has been removed from the Store verifyBrokerState(); } + + public void testDeleteMessages() throws Exception + { + int messageCount = 10; + sendMessages(messageCount, true); + assertEquals("", messageCount, _queueMBean.getMessageCount().intValue()); + assertTrue(_queueMBean.getReceivedMessageCount() == messageCount); + long queueDepth = (messageCount * MESSAGE_SIZE); + assertTrue(_queueMBean.getQueueDepth() == queueDepth); + + //delete first message + _queueMBean.deleteMessages(1L,1L); + assertTrue(_queueMBean.getMessageCount() == (messageCount - 1)); + assertTrue(_queueMBean.getReceivedMessageCount() == messageCount); + try + { + _queueMBean.viewMessageContent(1L); + fail("Message should no longer be on the queue"); + } + catch(Exception e) + { + + } + + //delete last message, leaving 2nd to 9th + _queueMBean.deleteMessages(10L,10L); + assertTrue(_queueMBean.getMessageCount() == (messageCount - 2)); + assertTrue(_queueMBean.getReceivedMessageCount() == messageCount); + try + { + _queueMBean.viewMessageContent(10L); + fail("Message should no longer be on the queue"); + } + catch(Exception e) + { + + } + + //delete remaining messages, leaving none + _queueMBean.deleteMessages(2L,9L); + assertTrue(_queueMBean.getMessageCount() == (0)); + assertTrue(_queueMBean.getReceivedMessageCount() == messageCount); + + //Ensure that the data has been removed from the Store + verifyBrokerState(); + } // todo: collect to a general testing class -duplicated from Systest/MessageReturntest private void verifyBrokerState() |
