##// END OF EJS Templates
Change custom serialization to use custom models, rather than transmitting the serializer name across the wire...
Change custom serialization to use custom models, rather than transmitting the serializer name across the wire This separates the kernel and the js much more cleanly, and doesn't use as much space on the wire as well!

File last commit:

r20454:f1398d6c
r20935:a1dba7fe
Show More
test_serialize.py
26 lines | 764 B | text/x-python | PythonLexer
"""Test serialize/deserialize messages with buffers"""
import os
import nose.tools as nt
from IPython.kernel.zmq.session import Session
from ..base.zmqhandlers import (
serialize_binary_message,
deserialize_binary_message,
)
def test_serialize_binary():
s = Session()
msg = s.msg('data_pub', content={'a': 'b'})
msg['buffers'] = [ memoryview(os.urandom(3)) for i in range(3) ]
bmsg = serialize_binary_message(msg)
nt.assert_is_instance(bmsg, bytes)
def test_deserialize_binary():
s = Session()
msg = s.msg('data_pub', content={'a': 'b'})
msg['buffers'] = [ memoryview(os.urandom(2)) for i in range(3) ]
bmsg = serialize_binary_message(msg)
msg2 = deserialize_binary_message(bmsg)
nt.assert_equal(msg2, msg)