diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/qpid/client.py | 2 | ||||
| -rw-r--r-- | python/qpid/reference.py | 2 | ||||
| -rw-r--r-- | python/tests/message.py | 11 |
3 files changed, 9 insertions, 6 deletions
diff --git a/python/qpid/client.py b/python/qpid/client.py index e14166c885..f6a540c7ec 100644 --- a/python/qpid/client.py +++ b/python/qpid/client.py @@ -111,6 +111,8 @@ class ClientDelegate(Delegate): self.client.started.set() def message_transfer(self, ch, msg): + if isinstance(msg.body, ReferenceId): + msg.reference = ch.references.get(msg.body.id) self.client.queue(msg.destination).put(msg) def message_open(self, ch, msg): diff --git a/python/qpid/reference.py b/python/qpid/reference.py index d357560390..48ecb67656 100644 --- a/python/qpid/reference.py +++ b/python/qpid/reference.py @@ -111,7 +111,7 @@ class References: self.get(id).close() self.lock.acquire() try: - del map[id] + self.map.pop(id) finally: self.lock.release() diff --git a/python/tests/message.py b/python/tests/message.py index bab596974a..8da9978792 100644 --- a/python/tests/message.py +++ b/python/tests/message.py @@ -455,7 +455,8 @@ class MessageTests(TestBase): msg = queue.get(timeout=1) self.assertTrue(isinstance(msg.body, ReferenceId)) - self.assertEquals(data, ch2.references.get(msg.body.id).get_complete()) + self.assertTrue(msg.reference) + self.assertEquals(data, msg.reference.get_complete()) def test_reference_completion(self): """ @@ -539,15 +540,15 @@ class MessageTests(TestBase): #inline or by reference in any combination if isinstance(msg1.body, ReferenceId): - self.assertEquals("second message", channel.references.get(msg1.body.id).get_complete()) + self.assertEquals("second message", msg1.reference.get_complete()) if isinstance(msg2.body, ReferenceId): if msg1.body != msg2.body: - self.assertEquals("second message", channel.references.get(msg2.body.id).get_complete()) + self.assertEquals("second message", msg2.reference.get_complete()) #else ok, as same ref as msg1 else: self.assertEquals("second message", msg1.body) if isinstance(msg2.body, ReferenceId): - self.assertEquals("second message", channel.references.get(msg2.body.id).get_complete()) + self.assertEquals("second message", msg2.reference.get_complete()) else: self.assertEquals("second message", msg2.body) @@ -644,7 +645,7 @@ class MessageTests(TestBase): def assertDataEquals(self, channel, msg, expected): if isinstance(msg.body, ReferenceId): - data = channel.references.get(msg.body.id).get_complete() + data = msg.reference.get_complete() else: data = msg.body self.assertEquals(expected, data) |
