FlorentinDUBOIS commented on code in PR #2785:
URL: https://github.com/apache/avro/pull/2785#discussion_r1511324944


##########
lang/rust/avro/src/de.rs:
##########
@@ -676,6 +676,49 @@ mod tests {
 
     use super::*;
 
+    #[derive(PartialEq, Eq, Serialize, Deserialize, Debug)]
+    pub struct StringEnum {
+        pub source: String,
+    }
+
+    #[test]
+    fn avro_xxxx_decode_enum() {
+        let schema_content = r#"
+{
+  "name": "AccessLog",
+  "namespace": "com.clevercloud.accesslogs.common.avro",
+  "type": "record",
+  "fields": [
+    {
+      "name": "source",
+      "type": {
+        "type": "enum",
+        "name": "SourceType",
+        "items": "string",
+        "symbols": ["SOZU", "HAPROXY", "HAPROXY_TCP"]
+      }
+    }
+  ]
+}
+"#;
+
+        let schema = crate::Schema::parse_str(schema_content).unwrap();
+        let data = StringEnum { source: "SOZU".to_string() };
+
+        // encode into avro
+        let value = crate::to_value(&data).unwrap();
+
+        let mut buf = std::io::Cursor::new(crate::to_avro_datum(&schema, 
value).unwrap());
+
+        // decode from avro
+        let value = crate::from_avro_datum(&schema, &mut buf, None).unwrap();
+
+        let decoded_data: StringEnum = crate::from_value(&value).unwrap();
+        // :arrow_double_up: throw => Failed to deserialize Avro value into 
value: Expected a String|Bytes|Fixed|Uuid|Union, but got Enum(0, "SOZU")

Review Comment:
   Just a forgotten comment from the issue example



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to