def test_json(self): b = BibRecord(bibcode=u'\u01b5') cls, data = b.dump() x = json.dumps(b.__json__()) z = json.loads(x) data2 = base64.b64decode(z['__adsmsg__'][1]) self.assertEqual(repr(data), repr(data2)) b1 = Msg.loads(cls, data) b2 = Msg.loads(cls, data2) self.assertEqual(b1.bibcode, u'\u01b5') self.assertEqual(b2.bibcode, u'\u01b5')
def test_serializer(self): b = BibRecord(bibcode='bibcode') cls, data = b.dump() self.assertEqual('adsmsg.bibrecord.BibRecord', cls) self.assertEqual('\n\x07bibcode', data) b2 = Msg.loads(cls, data) self.assertEqual(b2.bibcode, b.bibcode)
def test_higher_char(self): b = BibRecord(bibcode=u'\u01b5') cls, data = b.dump() self.assertEqual('adsmsg.bibrecord.BibRecord', cls) self.assertEqual('\n\x02\xc6\xb5', data) b2 = Msg.loads(cls, data) self.assertEqual(b2.bibcode, b.bibcode)
def adsmsg_converter(dct): if '__adsmsg__' in dct: cls, data = dct['__adsmsg__'] return Msg.loads(cls, base64.b64decode(data)) # ('class.name', 'binary data.....') return dct