From 6447a16f4196da92def8b834423659a187fc96af Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Tue, 21 Jul 2009 09:12:28 +0000 Subject: 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 --- .../qpid/server/queue/AMQQueueMBeanTest.java | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'java/broker/src/test') 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() -- cgit v1.2.1