summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2010-11-23 17:56:35 +0000
committerTed Ross <tross@apache.org>2010-11-23 17:56:35 +0000
commit241cf9f1e7741a3a19a0bb215024aada96effc33 (patch)
tree1ce226979b3a71d2746b4ec95ddb3d608be3d272 /tests
parentf5ec4560c171f669b1fec143a1090d92f7cade8b (diff)
downloadqpid-python-241cf9f1e7741a3a19a0bb215024aada96effc33.tar.gz
QPID-2957 - Management methods on the broker don't work on newly created objects
A test and a fix are included. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1038231 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'tests')
-rw-r--r--tests/src/py/qpid_tests/broker_0_10/management.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/src/py/qpid_tests/broker_0_10/management.py b/tests/src/py/qpid_tests/broker_0_10/management.py
index 677645fa2c..1e579debf4 100644
--- a/tests/src/py/qpid_tests/broker_0_10/management.py
+++ b/tests/src/py/qpid_tests/broker_0_10/management.py
@@ -23,6 +23,7 @@ from qpid.management import managementChannel, managementClient
from threading import Condition
from time import sleep
import qmf.console
+import qpid.messaging
class ManagementTest (TestBase010):
"""
@@ -387,6 +388,30 @@ class ManagementTest (TestBase010):
session = conn.session("my-named-session")
session.queue_declare(queue="whatever", exclusive=True, auto_delete=True)
+ def test_immediate_method(self):
+ url = "%s://%s:%d" % (self.broker.scheme or "amqp", self.broker.host, self.broker.port)
+ conn = qpid.messaging.Connection(url)
+ conn.open()
+ sess = conn.session()
+ replyTo = "qmf.default.direct/reply_immediate_method_test;{node:{type:topic}}"
+ agent_sender = sess.sender("qmf.default.direct/broker")
+ agent_receiver = sess.receiver(replyTo)
+ queue_create = sess.sender("test-queue-imm-method;{create:always,delete:always,node:{type:queue,durable:False,x-declare:{auto-delete:True}}}")
+
+ method_request = {'_method_name':'reroute','_object_id':{'_object_name':'org.apache.qpid.broker:queue:test-queue-imm-method'}}
+ method_request['_arguments'] = {'request':0, 'useAltExchange':False, 'exchange':'amq.fanout'}
+
+ reroute_call = qpid.messaging.Message(method_request)
+ reroute_call.properties['qmf.opcode'] = '_method_request'
+ reroute_call.properties['x-amqp-0-10.app-id'] = 'qmf2'
+ reroute_call.reply_to = replyTo
+
+ agent_sender.send(reroute_call)
+ result = agent_receiver.fetch(3)
+ self.assertEqual(result.properties['qmf.opcode'], '_method_response')
+
+ conn.close()
+
def test_binding_count_on_queue(self):
self.startQmf()
conn = self.connect()