diff options
Diffstat (limited to 'qpid/python/qpid_tests/broker_1_0/translation.py')
-rw-r--r-- | qpid/python/qpid_tests/broker_1_0/translation.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/qpid/python/qpid_tests/broker_1_0/translation.py b/qpid/python/qpid_tests/broker_1_0/translation.py new file mode 100644 index 0000000000..a6394fb8c5 --- /dev/null +++ b/qpid/python/qpid_tests/broker_1_0/translation.py @@ -0,0 +1,87 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +from qpid.tests.messaging.implementation import * +from qpid.tests.messaging import VersionTest + +class TranslationTests (VersionTest): + """ + Testing translation of messages between 1.0 and 0-10 + """ + def send_receive_messages(self, msgs, send_version, receive_version, address): + rcon = self.create_connection(receive_version, True) + rcv = rcon.session().receiver(address) + + scon = self.create_connection(send_version, True) + snd = scon.session().sender(rcv.source) + + for m in msgs: snd.send(m) + + for expected in msgs: + msg = rcv.fetch() + assert msg.content == expected.content, (msg.content, expected.content) + assert msg.subject == expected.subject, (msg.subject, expected.subject) + self.ssn.acknowledge(msg) + scon.close() + rcon.close() + + def send_receive(self, send_version, receive_version, address): + self.send_receive_messages([Message(content=s, subject = s) for s in ['a','b','c','d']], send_version, receive_version, address) + + def send_receive_map(self, send_version, receive_version, address): + self.send_receive_messages([Message(content={'s':'abc','i':10})], send_version, receive_version, address) + + def send_receive_list(self, send_version, receive_version, address): + self.send_receive_messages([Message(content=['a', 1, 'c'])], send_version, receive_version, address) + + def test_translation_queue_1(self): + self.send_receive("amqp0-10", "amqp1.0", '#') + + def test_translation_queue_2(self): + self.send_receive("amqp1.0", "amqp0-10", '#') + + def test_translation_exchange_1(self): + self.send_receive("amqp0-10", "amqp1.0", 'amq.fanout') + + def test_translation_exchange_2(self): + self.send_receive("amqp1.0", "amqp0-10", 'amq.fanout') + + def test_send_receive_queue_1(self): + self.send_receive("amqp1.0", "amqp1.0", '#') + + def test_send_receive_queue_2(self): + self.send_receive("amqp0-10", "amqp0-10", '#') + + def test_send_receive_exchange_1(self): + self.send_receive("amqp1.0", "amqp1.0", 'amq.fanout') + + def test_send_receive_exchange_2(self): + self.send_receive("amqp0-10", "amqp0-10", 'amq.fanout') + + def test_translate_map_1(self): + self.send_receive_map("amqp0-10", "amqp1.0", '#') + + def test_translate_map_2(self): + self.send_receive_map("amqp1.0", "amqp0-10", '#') + + def test_translate_list_1(self): + self.send_receive_list("amqp0-10", "amqp1.0", '#') + + def test_translate_list_2(self): + self.send_receive_list("amqp1.0", "amqp0-10", '#') |