|
@@ -0,0 +1,23 @@
|
|
|
|
+from io import BytesIO
|
|
|
|
+from avro.schema import Parse
|
|
|
|
+from avro.io import DatumReader, BinaryDecoder
|
|
|
|
+
|
|
|
|
+schema = Parse("""{
|
|
|
|
+"namespace": "org.buildroot.package.python_avro",
|
|
|
|
+"type": "record",
|
|
|
|
+"name": "Developer",
|
|
|
|
+"fields": [
|
|
|
|
+ {"name": "email", "type": "string"},
|
|
|
|
+ {"name": "maintainer_of", "type": "string"}
|
|
|
|
+]
|
|
|
|
+}""")
|
|
|
|
+
|
|
|
|
+example = b'<titouan.christophe@railnova.eu\x16python_avro'
|
|
|
|
+
|
|
|
|
+reader = DatumReader(schema)
|
|
|
|
+deserialized = reader.read(BinaryDecoder(BytesIO(example)))
|
|
|
|
+
|
|
|
|
+assert deserialized == {
|
|
|
|
+ 'email': 'titouan.christophe@railnova.eu',
|
|
|
|
+ 'maintainer_of': 'python_avro',
|
|
|
|
+}
|