##// END OF EJS Templates
Backport PR #4840: Error in Session.send_raw()...
MinRK -
Show More
@@ -659,7 +659,7 b' class Session(Configurable):'
659 to_send.append(DELIM)
659 to_send.append(DELIM)
660 to_send.append(self.sign(msg_list))
660 to_send.append(self.sign(msg_list))
661 to_send.extend(msg_list)
661 to_send.extend(msg_list)
662 stream.send_multipart(msg_list, flags, copy=copy)
662 stream.send_multipart(to_send, flags, copy=copy)
663
663
664 def recv(self, socket, mode=zmq.NOBLOCK, content=True, copy=True):
664 def recv(self, socket, mode=zmq.NOBLOCK, content=True, copy=True):
665 """Receive and unpack a message.
665 """Receive and unpack a message.
@@ -223,3 +223,27 b' class TestSession(SessionTestCase):'
223 session._add_digest(uuid.uuid4().bytes)
223 session._add_digest(uuid.uuid4().bytes)
224 self.assertTrue(len(session.digest_history) == 91)
224 self.assertTrue(len(session.digest_history) == 91)
225
225
226 def test_send_raw(self):
227 ctx = zmq.Context.instance()
228 A = ctx.socket(zmq.PAIR)
229 B = ctx.socket(zmq.PAIR)
230 A.bind("inproc://test")
231 B.connect("inproc://test")
232
233 msg = self.session.msg('execute', content=dict(a=10))
234 msg_list = [self.session.pack(msg[part]) for part in
235 ['header', 'parent_header', 'metadata', 'content']]
236 self.session.send_raw(A, msg_list, ident=b'foo')
237
238 ident, new_msg_list = self.session.feed_identities(B.recv_multipart())
239 new_msg = self.session.unserialize(new_msg_list)
240 self.assertEqual(ident[0], b'foo')
241 self.assertEqual(new_msg['msg_type'],msg['msg_type'])
242 self.assertEqual(new_msg['header'],msg['header'])
243 self.assertEqual(new_msg['parent_header'],msg['parent_header'])
244 self.assertEqual(new_msg['content'],msg['content'])
245 self.assertEqual(new_msg['metadata'],msg['metadata'])
246
247 A.close()
248 B.close()
249 ctx.term()
General Comments 0
You need to be logged in to leave comments. Login now