def test_infer_schema_avro(): with tempfile.TemporaryFile(mode="w+b") as file: schema = avro_schema.parse( ujson.dumps( { "type": "record", "name": "test", "fields": [ {"name": "boolean_field", "type": "boolean"}, {"name": "integer_field", "type": "int"}, {"name": "string_field", "type": "string"}, ], } ) ) writer = DataFileWriter(file, DatumWriter(), schema) records = test_table.to_dict(orient="records") for record in records: writer.append(record) writer.sync() file.seek(0) fields = avro.AvroInferrer().infer_schema(file) fields.sort(key=lambda x: x.fieldPath) assert_field_paths_match(fields, expected_field_paths_avro) assert_field_types_match(fields, expected_field_types)