def test_bytes_preservation(self): """ Tests that bytestrings and unicode strings' types are preserved. """ data = { b'bytes_key': b'this is a byte array', 'unicode_key': 'unicode string!', } serializer = MsgpackSerializer() output = serializer.blob_to_dict(serializer.dict_to_blob(data)) assert b'bytes_key' in output assert 'unicode_key' in output assert output[b'bytes_key'] == b'this is a byte array' assert output['unicode_key'] == 'unicode string!'
def test_currint(self, value): serializer = MsgpackSerializer() assert serializer.blob_to_dict(serializer.dict_to_blob({'v': value}))['v'] == value
def test_datetime_non_naive(self): serializer = MsgpackSerializer() with pytest.raises(InvalidField): serializer.dict_to_blob({'v': datetime.datetime(2011, 1, 24, tzinfo=pytz.timezone('America/Chicago'))})
def test_datetime_utc(self, value): serializer = MsgpackSerializer() deserialized = serializer.blob_to_dict(serializer.dict_to_blob({'v': value}))['v'] # type: datetime.datetime assert deserialized == value assert deserialized.tzinfo == pytz.UTC