summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java')
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java48
1 files changed, 34 insertions, 14 deletions
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
index 06d5d80ac1..2d8b157297 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/exchange/AbstractHeadersExchangeTestBase.java
@@ -31,6 +31,7 @@ import org.apache.qpid.framing.ContentHeaderBody;
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.FieldTableFactory;
import org.apache.qpid.framing.abstraction.MessagePublishInfo;
+import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.binding.BindingFactory;
import org.apache.qpid.server.message.AMQMessage;
import org.apache.qpid.server.message.AMQMessageHeader;
@@ -53,8 +54,10 @@ import org.apache.qpid.server.subscription.Subscription;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
@@ -92,31 +95,31 @@ public class AbstractHeadersExchangeTestBase extends TestCase
protected TestQueue bindDefault(String... bindings) throws AMQException
{
- return bind("Queue" + (++count), bindings);
- }
+ String queueName = "Queue" + (++count);
- protected TestQueue bind(String queueName, String... bindings) throws AMQException
- {
- return bind(queueName, getHeaders(bindings));
+ return bind(queueName, queueName, getHeadersMap(bindings));
}
-
- protected TestQueue bind(String queue, FieldTable bindings) throws AMQException
+
+ protected void unbind(TestQueue queue, String... bindings) throws AMQException
{
- return bind(new TestQueue(new AMQShortString(queue)), bindings);
+ String queueName = queue.getName();
+ //TODO - check this
+ exchange.onUnbind(new Binding(null,queueName, queue, exchange, getHeadersMap(bindings)));
}
-
- protected TestQueue bind(TestQueue queue, String... bindings) throws AMQException
+
+ protected int getCount()
{
- return bind(queue, getHeaders(bindings));
+ return count;
}
- protected TestQueue bind(TestQueue queue, FieldTable bindings) throws AMQException
+ private TestQueue bind(String key, String queueName, Map<String,Object> args) throws AMQException
{
+ TestQueue queue = new TestQueue(new AMQShortString(queueName));
queues.add(queue);
- exchange.registerQueue(null, queue, bindings);
+ exchange.onBind(new Binding(null,key, queue, exchange, args));
return queue;
}
-
+
protected int route(Message m) throws AMQException
{
@@ -171,6 +174,23 @@ public class AbstractHeadersExchangeTestBase extends TestCase
}
}
+
+ static Map<String,Object> getHeadersMap(String... entries)
+ {
+ if(entries == null)
+ {
+ return null;
+ }
+
+ Map<String,Object> headers = new HashMap<String,Object>();
+
+ for (String s : entries)
+ {
+ String[] parts = s.split("=", 2);
+ headers.put(parts[0], parts.length > 1 ? parts[1] : "");
+ }
+ return headers;
+ }
static FieldTable getHeaders(String... entries)
{