From aab8bdfcf3d279758124fc01213f33563a73040f Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Tue, 11 Mar 2008 12:24:46 +0000 Subject: Fixed broker to take application headers from final format message-properties struct Fixed headers exchange to recognise x-match even if sent as a string other than 32 bit sized Converted remaining python exchange tests git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@635898 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/python/cpp_failing_0-10.txt | 8 -------- qpid/python/tests_0-10/exchange.py | 37 ++++++++++++++++++++----------------- 2 files changed, 20 insertions(+), 25 deletions(-) (limited to 'qpid/python') diff --git a/qpid/python/cpp_failing_0-10.txt b/qpid/python/cpp_failing_0-10.txt index 8930f6e05b..8b0e11b3f0 100644 --- a/qpid/python/cpp_failing_0-10.txt +++ b/qpid/python/cpp_failing_0-10.txt @@ -10,14 +10,6 @@ tests_0-10.alternate_exchange.AlternateExchangeTests.test_delete_while_used_by_e tests_0-10.alternate_exchange.AlternateExchangeTests.test_delete_while_used_by_queue tests_0-10.alternate_exchange.AlternateExchangeTests.test_queue_delete tests_0-10.alternate_exchange.AlternateExchangeTests.test_unroutable -tests_0-10.exchange.DeclareMethodPassiveFieldNotFoundRuleTests.test -tests_0-10.exchange.ExchangeTests.testHeadersBindNoMatchArg -tests_0-10.exchange.HeadersExchangeTests.testMatchAll -tests_0-10.exchange.HeadersExchangeTests.testMatchAny -tests_0-10.exchange.MiscellaneousErrorsTests.testDifferentDeclaredType -tests_0-10.exchange.MiscellaneousErrorsTests.testTypeNotKnown -tests_0-10.exchange.RecommendedTypesRuleTests.testHeaders -tests_0-10.exchange.RequiredInstancesRuleTests.testAmqMatch tests_0-10.dtx.DtxTests.test_bad_resume tests_0-10.dtx.DtxTests.test_end tests_0-10.dtx.DtxTests.test_end_suspend_and_fail diff --git a/qpid/python/tests_0-10/exchange.py b/qpid/python/tests_0-10/exchange.py index 151807b045..be4f72c74c 100644 --- a/qpid/python/tests_0-10/exchange.py +++ b/qpid/python/tests_0-10/exchange.py @@ -27,6 +27,7 @@ import Queue, logging, traceback from qpid.testlib import TestBase010 from qpid.datatypes import Message from qpid.client import Closed +from qpid.session import SessionException class TestHelper(TestBase010): @@ -48,6 +49,11 @@ class TestHelper(TestBase010): def createMessage(self, key="", body=""): return Message(self.session.delivery_properties(routing_key=key), body) + def getApplicationHeaders(self, msg): + for h in msg.headers: + if hasattr(h, 'application_headers'): return getattr(h, 'application_headers') + return None + def assertPublishGet(self, queue, exchange="", routing_key="", properties=None): """ Publish to exchange and assert queue.get() returns the same message. @@ -59,7 +65,7 @@ class TestHelper(TestBase010): msg = queue.get(timeout=1) self.assertEqual(body, msg.body) if (properties): - self.assertEqual(properties, msg.content['application_headers']) + self.assertEqual(properties, self.getApplicationHeaders(msg)) def assertPublishConsume(self, queue="", exchange="", routing_key="", properties=None): """ @@ -294,8 +300,8 @@ class DeclareMethodPassiveFieldNotFoundRuleTests(TestHelper): try: self.session.exchange_declare(exchange="humpty_dumpty", passive=True) self.fail("Expected 404 for passive declaration of unknown exchange.") - except Closed, e: - self.assertChannelException(404, e.args[0]) + except SessionException, e: + self.assertEquals(404, e.args[0].error_code) class DeclareMethodDurableFieldSupportRuleTests(TestHelper): @@ -352,7 +358,8 @@ class HeadersExchangeTests(TestHelper): self.assertPublishGet(self.q, exchange="amq.match", properties=headers) def myBasicPublish(self, headers): - self.session.message_transfer(destination="amq.match", content=Content("foobar", properties={'application_headers':headers})) + mp=self.session.message_properties(application_headers=headers) + self.session.message_transfer(destination="amq.match", message=Message(mp, "foobar")) def testMatchAll(self): self.session.exchange_bind(queue="q", exchange="amq.match", arguments={ 'x-match':'all', "name":"fred", "age":3}) @@ -386,21 +393,17 @@ class MiscellaneousErrorsTests(TestHelper): try: self.session.exchange_declare(exchange="test_type_not_known_exchange", type="invalid_type") self.fail("Expected 503 for declaration of unknown exchange type.") - except Closed, e: - self.assertConnectionException(503, e.args[0]) + except SessionException, e: + self.assertEquals(503, e.args[0].error_code) def testDifferentDeclaredType(self): - self.session.exchange_declare(exchange="test_different_declared_type_exchange", type="direct") + self.exchange_declare(exchange="test_different_declared_type_exchange", type="direct") try: - self.session.exchange_declare(exchange="test_different_declared_type_exchange", type="topic") + session = self.conn.session("alternate", 2) + session.exchange_declare(exchange="test_different_declared_type_exchange", type="topic") self.fail("Expected 530 for redeclaration of exchange with different type.") - except Closed, e: - self.assertConnectionException(530, e.args[0]) - #cleanup - other = self.connect() - c2 = other.channel(1) - c2.session_open() - c2.exchange_delete(exchange="test_different_declared_type_exchange") + except SessionException, e: + self.assertEquals(530, e.args[0].error_code) class ExchangeTests(TestHelper): def testHeadersBindNoMatchArg(self): @@ -408,5 +411,5 @@ class ExchangeTests(TestHelper): try: self.session.exchange_bind(queue="q", exchange="amq.match", arguments={"name":"fred" , "age":3} ) self.fail("Expected failure for missing x-match arg.") - except Closed, e: - self.assertConnectionException(541, e.args[0]) + except SessionException, e: + self.assertEquals(541, e.args[0].error_code) -- cgit v1.2.1