[jboss-cvs] JBoss Messaging SVN: r4537 - trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jun 20 13:00:34 EDT 2008
Author: ataylor
Date: 2008-06-20 13:00:34 -0400 (Fri, 20 Jun 2008)
New Revision: 4537
Modified:
trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/PostOfficeTest.java
Log:
more tests and tweaks
Modified: trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/PostOfficeTest.java
===================================================================
--- trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/PostOfficeTest.java 2008-06-20 14:23:06 UTC (rev 4536)
+++ trunk/tests/src/org/jboss/messaging/tests/unit/core/postoffice/impl/PostOfficeTest.java 2008-06-20 17:00:34 UTC (rev 4537)
@@ -18,17 +18,16 @@
* 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.postoffice.impl;
-import java.util.List;
-import java.util.Map;
-
import org.easymock.EasyMock;
+import org.easymock.IAnswer;
import org.jboss.messaging.core.filter.Filter;
import org.jboss.messaging.core.persistence.StorageManager;
import org.jboss.messaging.core.postoffice.Binding;
+import org.jboss.messaging.core.postoffice.FlowController;
import org.jboss.messaging.core.postoffice.PostOffice;
import org.jboss.messaging.core.postoffice.impl.BindingImpl;
import org.jboss.messaging.core.postoffice.impl.PostOfficeImpl;
@@ -39,224 +38,573 @@
import org.jboss.messaging.tests.util.UnitTestCase;
import org.jboss.messaging.util.SimpleString;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
- *
* A PostOfficeTest
- *
+ *
* @author <a href="mailto:tim.fox at jboss.com">Tim Fox</a>
- *
*/
public class PostOfficeTest extends UnitTestCase
{
- private QueueFactory queueFactory = new FakeQueueFactory();
-
+ private QueueFactory queueFactory = new FakeQueueFactory();
+
+ public void testPostOfficeStart() throws Exception
+ {
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+ EasyMock.replay(pm, qf);
+ postOffice.start();
+ EasyMock.verify(pm, qf);
+ assertTrue(postOffice.isStarted());
+ }
+
+ public void testPostOfficeStartedAndBindingLoaded() throws Exception
+ {
+ Binding binding = EasyMock.createStrictMock(Binding.class);
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+ bindingArrayList.add(binding);
+
+ Queue queue = EasyMock.createStrictMock(Queue.class);
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+
+ SimpleString address1 = new SimpleString("testAddress1");
+ EasyMock.expect(binding.getAddress()).andStubReturn(address1);
+ EasyMock.expect(binding.getQueue()).andStubReturn(queue);
+ SimpleString queueName = new SimpleString("testQueueName1");
+ EasyMock.expect(queue.getName()).andStubReturn(queueName);
+ queue.setFlowController(null);
+ EasyMock.expect(queue.getPersistenceID()).andStubReturn(1);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, null));
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf, binding, queue);
+
+ postOffice.start();
+
+ EasyMock.verify(pm, qf, binding, queue);
+
+ assertTrue(postOffice.isStarted());
+ assertEquals(postOffice.getBinding(queueName), binding);
+ assertEquals(postOffice.getBindingsForAddress(address1).size(), 1);
+ }
+
+ public void testPostOfficeStartedAndBindingsLoadedDifferentAddress() throws Exception
+ {
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+
+ Binding[] bindings = new Binding[1000];
+ Queue[] queues = new Queue[1000];
+ SimpleString[] addresses = new SimpleString[1000];
+ SimpleString[] queueNames = new SimpleString[1000];
+ for (int i = 0; i < 1000; i++)
+ {
+ bindings[i] = EasyMock.createStrictMock(Binding.class);
+ bindingArrayList.add(bindings[i]);
+ queues[i] = EasyMock.createStrictMock(Queue.class);
+ addresses[i] = new SimpleString("testAddress" + i);
+ queueNames[i] = new SimpleString("testQueueName" + i);
+ EasyMock.expect(bindings[i].getAddress()).andStubReturn(addresses[i]);
+ EasyMock.expect(bindings[i].getQueue()).andStubReturn(queues[i]);
+ EasyMock.expect(queues[i].getName()).andStubReturn(queueNames[i]);
+ queues[i].setFlowController(null);
+ EasyMock.expect(queues[i].getPersistenceID()).andStubReturn(i + 1);
+ EasyMock.replay(bindings[i], queues[i]);
+ }
+
+
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+
+
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, null));
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf);
+
+ postOffice.start();
+
+ EasyMock.verify(pm, qf);
+
+ assertTrue(postOffice.isStarted());
+ for (int i = 0; i < 1000; i++)
+ {
+ assertEquals(postOffice.getBinding(queueNames[i]), bindings[i]);
+ assertEquals(postOffice.getBindingsForAddress(addresses[i]).size(), 1);
+ }
+ }
+
+ public void testPostOfficeStartedAndTwoBindingSameLoadedThrowsException() throws Exception
+ {
+ Binding binding = EasyMock.createStrictMock(Binding.class);
+ Binding binding2 = EasyMock.createStrictMock(Binding.class);
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+ bindingArrayList.add(binding);
+ bindingArrayList.add(binding2);
+ Queue queue = EasyMock.createStrictMock(Queue.class);
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+
+ SimpleString address1 = new SimpleString("testAddress1");
+ EasyMock.expect(binding.getAddress()).andStubReturn(address1);
+ EasyMock.expect(binding.getQueue()).andStubReturn(queue);
+ EasyMock.expect(binding2.getAddress()).andStubReturn(address1);
+ EasyMock.expect(binding2.getQueue()).andStubReturn(queue);
+ SimpleString queueName = new SimpleString("testQueueName1");
+ EasyMock.expect(queue.getName()).andStubReturn(queueName);
+ queue.setFlowController(null);
+ EasyMock.expect(queue.getPersistenceID()).andStubReturn(1);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList,null));
+
+ EasyMock.replay(pm, qf, binding, binding2, queue);
+
+ try
+ {
+ postOffice.start();
+ }
+ catch (IllegalStateException e)
+ {
+ e.printStackTrace();
+ }
+
+ EasyMock.verify(pm, qf, binding, binding2, queue);
+
+ assertFalse(postOffice.isStarted());
+ }
+
+ public void testPostOfficeStartedAndBindingsLoadedSameAddress() throws Exception
+ {
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+
+ Binding[] bindings = new Binding[1000];
+ Queue[] queues = new Queue[1000];
+ SimpleString address = new SimpleString("testAddress");
+ SimpleString[] queueNames = new SimpleString[1000];
+ for (int i = 0; i < 1000; i++)
+ {
+ bindings[i] = EasyMock.createStrictMock(Binding.class);
+ bindingArrayList.add(bindings[i]);
+ queues[i] = EasyMock.createStrictMock(Queue.class);
+ queueNames[i] = new SimpleString("testQueueName" + i);
+ EasyMock.expect(bindings[i].getAddress()).andStubReturn(address);
+ EasyMock.expect(bindings[i].getQueue()).andStubReturn(queues[i]);
+ EasyMock.expect(queues[i].getName()).andStubReturn(queueNames[i]);
+ queues[i].setFlowController(null);
+ EasyMock.expect(queues[i].getPersistenceID()).andStubReturn(i + 1);
+ EasyMock.replay(bindings[i], queues[i]);
+ }
+
+
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+
+
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, null));
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf);
+
+ postOffice.start();
+
+ EasyMock.verify(pm, qf);
+
+ assertTrue(postOffice.isStarted());
+ for (int i = 0; i < 1000; i++)
+ {
+ assertEquals(postOffice.getBinding(queueNames[i]), bindings[i]);
+ assertEquals(postOffice.getBindingsForAddress(address).size(), 1000);
+ }
+ }
+
+ public void testPostOfficeStartedAndBindingLoadedAndDestination() throws Exception
+ {
+ Binding binding = EasyMock.createStrictMock(Binding.class);
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+ bindingArrayList.add(binding);
+ List<SimpleString> dests = new ArrayList<SimpleString>();
+ Queue queue = EasyMock.createStrictMock(Queue.class);
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+
+ SimpleString address1 = new SimpleString("testAddress1");
+ dests.add(address1);
+ EasyMock.expect(binding.getAddress()).andStubReturn(address1);
+ EasyMock.expect(binding.getQueue()).andStubReturn(queue);
+ SimpleString queueName = new SimpleString("testQueueName1");
+ EasyMock.expect(queue.getName()).andStubReturn(queueName);
+ queue.setFlowController((FlowController) EasyMock.anyObject());
+ EasyMock.expect(queue.getPersistenceID()).andStubReturn(1);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, dests));
+ EasyMock.expect(pm.addDestination(address1)).andReturn(true);
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf, binding, queue);
+
+ postOffice.start();
+
+ EasyMock.verify(pm, qf, binding, queue);
+
+ assertTrue(postOffice.isStarted());
+ assertEquals(postOffice.getBinding(queueName), binding);
+ assertEquals(postOffice.getBindingsForAddress(address1).size(), 1);
+ assertTrue(postOffice.containsDestination(address1));
+ }
+
+ public void testPostOfficeStartedAndBindingLoadedAndDestinations() throws Exception
+ {
+
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+ List<SimpleString> dests = new ArrayList<SimpleString>();
+ Binding[] bindings = new Binding[1000];
+ Queue[] queues = new Queue[1000];
+ SimpleString[] addresses = new SimpleString[1000];
+ SimpleString[] queueNames = new SimpleString[1000];
+ for (int i = 0; i < 1000; i++)
+ {
+ bindings[i] = EasyMock.createStrictMock(Binding.class);
+ bindingArrayList.add(bindings[i]);
+ queues[i] = EasyMock.createStrictMock(Queue.class);
+ addresses[i] = new SimpleString("testAddress" + i);
+ queueNames[i] = new SimpleString("testQueueName" + i);
+ EasyMock.expect(bindings[i].getAddress()).andStubReturn(addresses[i]);
+ EasyMock.expect(bindings[i].getQueue()).andStubReturn(queues[i]);
+ EasyMock.expect(queues[i].getName()).andStubReturn(queueNames[i]);
+ queues[i].setFlowController((FlowController) EasyMock.anyObject());
+ EasyMock.expect(queues[i].getPersistenceID()).andStubReturn(i + 1);
+ EasyMock.replay(bindings[i], queues[i]);
+ dests.add(addresses[i]);
+ }
+
+
+
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, dests));
+ for (int i = 0; i < 1000; i++)
+ {
+ EasyMock.expect(pm.addDestination(addresses[i])).andReturn(true);
+ }
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf);
+
+ postOffice.start();
+
+ EasyMock.verify(pm, qf);
+
+ assertTrue(postOffice.isStarted());
+ for (int i = 0; i < 1000; i++)
+ {
+ assertEquals(postOffice.getBinding(queueNames[i]), bindings[i]);
+ assertEquals(postOffice.getBindingsForAddress(addresses[i]).size(), 1);
+ assertTrue(postOffice.containsDestination(addresses[i]));
+ }
+ }
+
+ public void testListDestinations() throws Exception
+ {
+
+ StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
+ QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
+ PostOffice postOffice = new PostOfficeImpl(pm, qf, true);
+ ArrayList<Binding> bindingArrayList = new ArrayList<Binding>();
+ List<SimpleString> dests = new ArrayList<SimpleString>();
+ Binding[] bindings = new Binding[1000];
+ Queue[] queues = new Queue[1000];
+ SimpleString[] addresses = new SimpleString[1000];
+ SimpleString[] queueNames = new SimpleString[1000];
+ for (int i = 0; i < 1000; i++)
+ {
+ bindings[i] = EasyMock.createStrictMock(Binding.class);
+ bindingArrayList.add(bindings[i]);
+ queues[i] = EasyMock.createStrictMock(Queue.class);
+ addresses[i] = new SimpleString("testAddress" + i);
+ queueNames[i] = new SimpleString("testQueueName" + i);
+ EasyMock.expect(bindings[i].getAddress()).andStubReturn(addresses[i]);
+ EasyMock.expect(bindings[i].getQueue()).andStubReturn(queues[i]);
+ EasyMock.expect(queues[i].getName()).andStubReturn(queueNames[i]);
+ queues[i].setFlowController((FlowController) EasyMock.anyObject());
+ EasyMock.expect(queues[i].getPersistenceID()).andStubReturn(i + 1);
+ EasyMock.replay(bindings[i], queues[i]);
+ dests.add(addresses[i]);
+ }
+
+
+
+ pm.loadBindings(EasyMock.eq(qf), (List<Binding>) EasyMock.anyObject(), (List<SimpleString>) EasyMock.anyObject());
+ EasyMock.expectLastCall().andAnswer(new LoadBindingsIAnswer(bindingArrayList, dests));
+ for (int i = 0; i < 1000; i++)
+ {
+ EasyMock.expect(pm.addDestination(addresses[i])).andReturn(true);
+ }
+ pm.loadMessages(EasyMock.eq(postOffice), (Map<Long, Queue>) EasyMock.anyObject());
+
+ EasyMock.replay(pm, qf);
+
+ postOffice.start();
+ Set<SimpleString> allDests = postOffice.listAllDestinations();
+ EasyMock.verify(pm, qf);
+
+ for (SimpleString dest : allDests)
+ {
+ assertTrue(dests.remove(dest));
+ }
+ assertTrue(dests.size() == 0);
+ }
+
public void testAddQueue() throws Exception
{
StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
-
+
QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
-
+
PostOffice po = new PostOfficeImpl(pm, qf, false);
-
+
final long id = 324;
final SimpleString name = new SimpleString("wibb22");
final Filter filter = new FakeFilter();
final boolean durable = true;
final boolean temporary = true;
-
+
Queue queue = queueFactory.createQueue(id, name, filter, durable, temporary);
-
+
EasyMock.expect(qf.createQueue(-1, name, filter, durable, temporary)).andReturn(queue);
-
+
final SimpleString condition = new SimpleString("queue.wibble");
Binding expected = new BindingImpl(condition, queue);
-
+
pm.addBinding(EasyMock.eq(expected));
-
+
EasyMock.replay(qf);
-
+
EasyMock.replay(pm);
-
+
po.addBinding(condition, name, filter, durable, temporary);
-
+
EasyMock.verify(qf);
-
+
EasyMock.verify(pm);
-
+
EasyMock.reset(qf);
-
+
EasyMock.reset(pm);
-
+
final boolean durable2 = false;
-
+
queue = queueFactory.createQueue(id, name, filter, durable2, temporary);
-
+
EasyMock.expect(qf.createQueue(-1, name, filter, durable2, temporary)).andReturn(queue);
-
+
EasyMock.replay(qf);
-
- EasyMock.replay(pm);
- }
-
+
+ EasyMock.replay(pm);
+ }
+
public void testRemoveQueue() throws Exception
{
StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
-
+
QueueFactory qf = EasyMock.createStrictMock(QueueFactory.class);
-
+
PostOffice po = new PostOfficeImpl(pm, qf, false);
-
+
final long id = 324;
final SimpleString name = new SimpleString("wibb22");
final Filter filter = new FakeFilter();
final boolean durable = true;
final boolean temporary = true;
-
+
Queue queue = queueFactory.createQueue(id, name, filter, durable, temporary);
-
+
EasyMock.expect(qf.createQueue(-1, name, filter, durable, temporary)).andReturn(queue);
-
+
final SimpleString condition = new SimpleString("queue.wibble");
-
+
Binding expected = new BindingImpl(condition, queue);
-
+
pm.addBinding(EasyMock.eq(expected));
-
+
pm.deleteBinding(EasyMock.eq(expected));
-
+
EasyMock.replay(qf);
-
+
EasyMock.replay(pm);
-
+
po.addBinding(condition, name, filter, durable, temporary);
-
+
po.removeBinding(name);
-
+
EasyMock.verify(qf);
-
+
EasyMock.verify(pm);
-
+
EasyMock.reset(qf);
-
+
EasyMock.reset(pm);
-
+
final boolean durable2 = false;
-
+
queue = queueFactory.createQueue(id, name, filter, durable2, temporary);
-
+
EasyMock.expect(qf.createQueue(-1, name, filter, durable2, temporary)).andReturn(queue);
-
+
EasyMock.replay(qf);
-
+
EasyMock.replay(pm);
-
+
po.addBinding(condition, name, filter, durable2, temporary);
-
+
po.removeBinding(name);
-
+
EasyMock.verify(qf);
-
+
EasyMock.verify(pm);
- }
-
+ }
+
public void testAddRemoveMultipleWithDifferentConditions() throws Exception
{
StorageManager pm = EasyMock.createStrictMock(StorageManager.class);
-
+
QueueFactory qf = new FakeQueueFactory();
-
+
PostOffice po = new PostOfficeImpl(pm, qf, false);
-
- final SimpleString condition1 = new SimpleString("queue.wibble");
-
+
+ final SimpleString condition1 = new SimpleString("queue.wibble");
+
SimpleString squeue1 = new SimpleString("queue1");
SimpleString squeue2 = new SimpleString("queue2");
SimpleString squeue3 = new SimpleString("queue3");
SimpleString squeue4 = new SimpleString("queue4");
SimpleString squeue5 = new SimpleString("queue5");
SimpleString squeue6 = new SimpleString("queue6");
-
- po.addBinding(condition1, squeue1, null, false, false);
- Map<SimpleString, List<Binding>> mappings = po.getMappings();
+
+ po.addBinding(condition1, squeue1, null, false, false);
+ Map<SimpleString, List<Binding>> mappings = po.getMappings();
assertEquals(1, mappings.size());
-
- po.addBinding(condition1, squeue2, null, false, false);
- mappings = po.getMappings();
+
+ po.addBinding(condition1, squeue2, null, false, false);
+ mappings = po.getMappings();
assertEquals(1, mappings.size());
-
- po.addBinding(condition1, squeue3, null, false, false);
- mappings = po.getMappings();
+
+ po.addBinding(condition1, squeue3, null, false, false);
+ mappings = po.getMappings();
assertEquals(1, mappings.size());
-
+
List<Binding> bindings = mappings.get(condition1);
assertNotNull(bindings);
assertEquals(3, bindings.size());
-
+
Binding binding1 = bindings.get(0);
Queue queue1 = binding1.getQueue();
assertEquals(squeue1, queue1.getName());
-
+
Binding binding2 = bindings.get(1);
Queue queue2 = binding2.getQueue();
assertEquals(squeue2, queue2.getName());
-
+
Binding binding3 = bindings.get(2);
Queue queue3 = binding3.getQueue();
assertEquals(squeue3, queue3.getName());
-
- final SimpleString condition2 = new SimpleString("queue.wibble2");
-
- po.addBinding(condition2, squeue4, null, false, false);
- mappings = po.getMappings();
+
+ final SimpleString condition2 = new SimpleString("queue.wibble2");
+
+ po.addBinding(condition2, squeue4, null, false, false);
+ mappings = po.getMappings();
assertEquals(2, mappings.size());
-
- po.addBinding(condition2, squeue5, null, false, false);
- mappings = po.getMappings();
+
+ po.addBinding(condition2, squeue5, null, false, false);
+ mappings = po.getMappings();
assertEquals(2, mappings.size());
-
- final SimpleString condition3 = new SimpleString("topic.wibblexyz");
-
- po.addBinding(condition3, squeue6, null, false, false);
- mappings = po.getMappings();
+
+ final SimpleString condition3 = new SimpleString("topic.wibblexyz");
+
+ po.addBinding(condition3, squeue6, null, false, false);
+ mappings = po.getMappings();
assertEquals(3, mappings.size());
-
+
po.removeBinding(squeue6);
- mappings = po.getMappings();
+ mappings = po.getMappings();
assertEquals(2, mappings.size());
-
+
po.removeBinding(squeue4);
- mappings = po.getMappings();
+ mappings = po.getMappings();
assertEquals(2, mappings.size());
-
+
po.removeBinding(squeue5);
- mappings = po.getMappings();
+ mappings = po.getMappings();
assertEquals(1, mappings.size());
-
+
po.removeBinding(squeue1);
- mappings = po.getMappings();
+ mappings = po.getMappings();
assertEquals(1, mappings.size());
-
+
po.removeBinding(squeue2);
- mappings = po.getMappings();
+ mappings = po.getMappings();
assertEquals(1, mappings.size());
-
+
po.removeBinding(squeue3);
- mappings = po.getMappings();
- assertEquals(0, mappings.size());
+ mappings = po.getMappings();
+ assertEquals(0, mappings.size());
}
class FakeFilter implements Filter
{
- public SimpleString getFilterString()
- {
- return new SimpleString("aardvark");
- }
+ public SimpleString getFilterString()
+ {
+ return new SimpleString("aardvark");
+ }
- public boolean match(ServerMessage message)
- {
- return true;
- }
-
+ public boolean match(ServerMessage message)
+ {
+ return true;
+ }
+
}
+
+ class LoadBindingsIAnswer implements IAnswer
+ {
+ List<Binding> bindings;
+ List<SimpleString> dests;
+
+ public LoadBindingsIAnswer(List<Binding> bindings, List<SimpleString> dests)
+ {
+ this.bindings = bindings;
+ this.dests = dests;
+ }
+
+ public Object answer() throws Throwable
+ {
+ if (this.bindings != null)
+ {
+ List<Binding> bindings = (List<Binding>) EasyMock.getCurrentArguments()[1];
+ bindings.addAll(this.bindings);
+ }
+ if(this.dests != null)
+ {
+ List<SimpleString> dests = (List<SimpleString>) EasyMock.getCurrentArguments()[2];
+ dests.addAll(this.dests);
+ }
+ return null;
+ }
+ }
}
More information about the jboss-cvs-commits
mailing list