/* * JBoss, Home of Professional Open Source * Copyright 2005-2008, Red Hat Middleware LLC, and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.jboss.messaging.tests.unit.core.server.impl; import org.jboss.messaging.tests.util.UnitTestCase; /** * @author <a href="ataylor@redhat.com">Andy Taylor</a> */ public class ServerConsumerImplTest extends UnitTestCase { public void testDummy() { } // private ServerSession serverSession; // private Queue queue; // private Filter filter; // private StorageManager storageManager; // private HierarchicalRepository<QueueSettings> repository; // private PostOffice postOffice; // private PacketDispatcher dispatcher; // // public void testStarted() // { // ServerConsumerImpl consumer = create(1, 999l, false, false, false); // serverSession.promptDelivery(queue); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // consumer.setStarted(true); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testClose() throws Exception // { // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // expect(queue.removeConsumer(consumer)).andReturn(true); // serverSession.removeConsumer(consumer); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // consumer.close(); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandleNoAvailableCredits() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // assertEquals(HandleStatus.BUSY, consumer.handle(messageReference)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandleExpiredMessage() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(messageReference.getMessage()).andStubReturn(message); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(true); // messageReference.expire(storageManager, postOffice, repository); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // consumer.receiveCredits(1); // assertEquals(HandleStatus.HANDLED, consumer.handle(messageReference)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandleOnInstartedConsumer() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(messageReference.getMessage()).andStubReturn(message); // ServerConsumerImpl consumer = create(1, 999l, false, false, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(false); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // consumer.receiveCredits(1); // assertEquals(HandleStatus.BUSY, consumer.handle(messageReference)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandleOnNoMatch() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(messageReference.getMessage()).andStubReturn(message); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(false); // expect(filter.match(message)).andReturn(false); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // consumer.receiveCredits(1); // assertEquals(HandleStatus.NO_MATCH, consumer.handle(messageReference)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandleDelivery() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(messageReference.getMessage()).andStubReturn(message); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(false); // expect(filter.match(message)).andReturn(true); // expect(message.getEncodeSize()).andReturn(1); // serverSession.handleDelivery(messageReference, consumer); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // consumer.receiveCredits(1); // assertEquals(HandleStatus.HANDLED, consumer.handle(messageReference)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandle2DeliveriesFirstUsesTokens() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(messageReference.getMessage()).andStubReturn(message); // MessageReference messageReference2 = createStrictMock(MessageReference.class); // ServerMessage message2 = createStrictMock(ServerMessage.class); // expect(messageReference2.getMessage()).andStubReturn(message2); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(false); // expect(filter.match(message)).andReturn(true); // expect(message.getEncodeSize()).andReturn(1); // serverSession.handleDelivery(messageReference, consumer); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // consumer.receiveCredits(1); // assertEquals(HandleStatus.HANDLED, consumer.handle(messageReference)); // assertEquals(HandleStatus.BUSY, consumer.handle(messageReference2)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // public void testHandle2DeliveriesFirstUsesTokensAddTokenThenRedeliver() throws Exception // { // MessageReference messageReference = createStrictMock(MessageReference.class); // ServerMessage message = createStrictMock(ServerMessage.class); // expect(message.decrementRefCount()).andStubReturn(1); // expect(messageReference.getMessage()).andStubReturn(message); // MessageReference messageReference2 = createStrictMock(MessageReference.class); // ServerMessage message2 = createStrictMock(ServerMessage.class); // expect(messageReference2.getMessage()).andStubReturn(message2); // ServerConsumerImpl consumer = create(1, 999l, false, true, false); // serverSession.promptDelivery(queue); // expect(message.isExpired()).andReturn(false); // expect(filter.match(message)).andReturn(true); // expect(message.getEncodeSize()).andReturn(1); // serverSession.handleDelivery(messageReference, consumer); // serverSession.promptDelivery(queue); // expect(message2.isExpired()).andReturn(false); // expect(filter.match(message2)).andReturn(true); // expect(message2.getEncodeSize()).andReturn(1); // serverSession.handleDelivery(messageReference2, consumer); // replay(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message, messageReference2, message2); // consumer.receiveCredits(1); // assertEquals(HandleStatus.HANDLED, consumer.handle(messageReference)); // assertEquals(HandleStatus.BUSY, consumer.handle(messageReference2)); // consumer.receiveCredits(1); // assertEquals(HandleStatus.HANDLED, consumer.handle(messageReference2)); // verify(serverSession, queue, filter, storageManager, repository, postOffice, dispatcher, messageReference, message, messageReference2, message2); // assertEquals(999l, consumer.getID()); // assertEquals(1, consumer.getClientTargetID()); // assertEquals(queue, consumer.getQueue()); // } // // private ServerConsumerImpl create(int clientId, long consumerId, boolean autoDeleteQueue, boolean started, boolean noLocal) // { // serverSession = createStrictMock(ServerSession.class); // queue = createStrictMock(Queue.class); // filter = createStrictMock(Filter.class); // storageManager = createStrictMock(StorageManager.class); // repository = createStrictMock(HierarchicalRepository.class); // postOffice = createStrictMock(PostOffice.class); // dispatcher = createStrictMock(PacketDispatcher.class); // expect(dispatcher.generateID()).andReturn(consumerId); // queue.addConsumer((Consumer) anyObject()); // replay(dispatcher, queue); // ServerConsumerImpl consumer = // new ServerConsumerImpl(serverSession, clientId, queue, filter, true, 0, started, storageManager, // repository, postOffice, dispatcher); // verify(dispatcher, queue); // reset(dispatcher, queue); // return consumer; // } // // class promptDeliveryAnswer implements IAnswer // { // volatile boolean delivering; // private CountDownLatch countDownLatch; // // public promptDeliveryAnswer(CountDownLatch countDownLatch) // { // this.countDownLatch = countDownLatch; // } // // public Object answer() throws Throwable // { // countDownLatch.await(10000, TimeUnit.MILLISECONDS); // return null; // } // } }