Beispiel #1
0
    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')
Beispiel #2
0
    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)
Beispiel #3
0
    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