summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--python/qpid/brokertest.py33
1 files changed, 23 insertions, 10 deletions
diff --git a/python/qpid/brokertest.py b/python/qpid/brokertest.py
index 1a4f73a01f..9f07ffe388 100644
--- a/python/qpid/brokertest.py
+++ b/python/qpid/brokertest.py
@@ -219,17 +219,30 @@ class Broker(Popen):
s = c.session(str(qpid.datatypes.uuid4()))
s.queue_declare(queue=queue)
c.close()
-
- def send_message(self, queue, message):
- s = self.connect().session()
- s.sender(queue+"; {create:always}").send(message)
- s.connection.close()
-
- def send_messages(self, queue, messages):
- s = self.connect().session()
- sender = s.sender(queue+"; {create:always}")
+
+ def _prep_sender(self, queue, durable, xprops):
+ s = queue + "; {create:always, node-properties:{durable:" + str(durable)
+ if xprops != None: s += ", x-properties:{" + xprops + "}"
+ return s + "}}"
+
+ def send_message(self, queue, message, durable=True, xprops=None, session=None):
+ if session == None:
+ s = self.connect().session()
+ else:
+ s = session
+ s.sender(self._prep_sender(queue, durable, xprops)).send(message)
+ if session == None:
+ s.connection.close()
+
+ def send_messages(self, queue, messages, durable=True, xprops=None, session=None):
+ if session == None:
+ s = self.connect().session()
+ else:
+ s = session
+ sender = s.sender(self._prep_sender(queue, durable, xprops))
for m in messages: sender.send(m)
- s.connection.close()
+ if session == None:
+ s.connection.close()
def get_message(self, queue):
s = self.connect().session()