diff options
Diffstat (limited to 'qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java')
-rw-r--r-- | qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java | 63 |
1 files changed, 43 insertions, 20 deletions
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java index 2b1e7f5e1f..b67b2dda32 100644 --- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java +++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java @@ -21,13 +21,19 @@ package org.apache.qpid.server.queue; import junit.framework.TestCase; import org.apache.qpid.AMQException; +import org.apache.qpid.server.consumer.ConsumerTarget; +import org.apache.qpid.server.logging.LogActor; +import org.apache.qpid.server.logging.RootMessageLogger; +import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.message.MessageReference; import org.apache.qpid.server.message.ServerMessage; -import org.apache.qpid.server.queue.QueueEntry.EntryState; -import org.apache.qpid.server.subscription.MockSubscription; -import org.apache.qpid.server.subscription.Subscription; +import org.apache.qpid.server.message.MessageInstance.EntryState; +import org.apache.qpid.server.protocol.AMQSessionModel; +import org.apache.qpid.server.virtualhost.VirtualHost; import java.lang.reflect.Field; +import java.util.Collections; +import java.util.UUID; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @@ -57,6 +63,15 @@ public abstract class QueueEntryImplTestBase extends TestCase _queueEntry3 = getQueueEntryImpl(3); } + + protected void mockLogging() + { + final LogActor logActor = mock(LogActor.class); + when(logActor.getRootMessageLogger()).thenReturn(mock(RootMessageLogger.class)); + CurrentActor.setDefault(logActor); + } + + public void testAcquire() { assertTrue("Queue entry should be in AVAILABLE state before invoking of acquire method", @@ -113,11 +128,19 @@ public abstract class QueueEntryImplTestBase extends TestCase */ private void acquire() { - _queueEntry.acquire(new MockSubscription()); + _queueEntry.acquire(newConsumer()); assertTrue("Queue entry should be in ACQUIRED state after invoking of acquire method", _queueEntry.isAcquired()); } + private QueueConsumer newConsumer() + { + final ConsumerTarget target = mock(ConsumerTarget.class); + when(target.getSessionModel()).thenReturn(mock(AMQSessionModel.class)); + final QueueConsumer consumer = new QueueConsumer(null,null,true,true,"mock",false,target); + return consumer; + } + /** * A helper method to get entry state * @@ -140,36 +163,34 @@ public abstract class QueueEntryImplTestBase extends TestCase } /** - * Tests rejecting a queue entry records the Subscription ID - * for later verification by isRejectedBy(subscriptionId). + * Tests rejecting a queue entry records the Consumer ID + * for later verification by isRejectedBy(consumerId). */ public void testRejectAndRejectedBy() { - Subscription sub = new MockSubscription(); - long subId = sub.getSubscriptionID(); + QueueConsumer sub = newConsumer(); - assertFalse("Queue entry should not yet have been rejected by the subscription", _queueEntry.isRejectedBy(subId)); - assertFalse("Queue entry should not yet have been acquired by a subscription", _queueEntry.isAcquired()); + assertFalse("Queue entry should not yet have been rejected by the consumer", _queueEntry.isRejectedBy(sub)); + assertFalse("Queue entry should not yet have been acquired by a consumer", _queueEntry.isAcquired()); - //acquire, reject, and release the message using the subscription + //acquire, reject, and release the message using the consumer assertTrue("Queue entry should have been able to be acquired", _queueEntry.acquire(sub)); _queueEntry.reject(); _queueEntry.release(); //verify the rejection is recorded - assertTrue("Queue entry should have been rejected by the subscription", _queueEntry.isRejectedBy(subId)); + assertTrue("Queue entry should have been rejected by the consumer", _queueEntry.isRejectedBy(sub)); - //repeat rejection using a second subscription - Subscription sub2 = new MockSubscription(); - long sub2Id = sub2.getSubscriptionID(); + //repeat rejection using a second consumer + QueueConsumer sub2 = newConsumer(); - assertFalse("Queue entry should not yet have been rejected by the subscription", _queueEntry.isRejectedBy(sub2Id)); + assertFalse("Queue entry should not yet have been rejected by the consumer", _queueEntry.isRejectedBy(sub2)); assertTrue("Queue entry should have been able to be acquired", _queueEntry.acquire(sub2)); _queueEntry.reject(); - //verify it still records being rejected by both subscriptions - assertTrue("Queue entry should have been rejected by the subscription", _queueEntry.isRejectedBy(subId)); - assertTrue("Queue entry should have been rejected by the subscription", _queueEntry.isRejectedBy(sub2Id)); + //verify it still records being rejected by both consumers + assertTrue("Queue entry should have been rejected by the consumer", _queueEntry.isRejectedBy(sub)); + assertTrue("Queue entry should have been rejected by the consumer", _queueEntry.isRejectedBy(sub2)); } /** @@ -179,7 +200,9 @@ public abstract class QueueEntryImplTestBase extends TestCase { int numberOfEntries = 5; QueueEntryImpl[] entries = new QueueEntryImpl[numberOfEntries]; - SimpleQueueEntryList queueEntryList = new SimpleQueueEntryList(new MockAMQQueue("test")); + StandardQueue queue = new StandardQueue(UUID.randomUUID(), getName(), false, null, false, false, + mock(VirtualHost.class), Collections.<String,Object>emptyMap()); + OrderedQueueEntryList queueEntryList = queue.getEntries(); // create test entries for(int i = 0; i < numberOfEntries ; i++) |