Skip to content

Commit 0ee5b00

Browse files
committed
AVRO-3631: Add more test cases
Signed-off-by: Martin Tzvetanov Grigorov <[email protected]>
1 parent 70d6cf0 commit 0ee5b00

File tree

2 files changed

+27
-16
lines changed

2 files changed

+27
-16
lines changed

lang/rust/avro/src/ser.rs

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,21 +1059,23 @@ mod tests {
10591059
struct TestStructFixedField<'a> {
10601060
// will be serialized as Value::Array<Vec<Value::Int>>
10611061
array_field: &'a [u8],
1062+
vec_field: Vec<u8>,
10621063

10631064
// will be serialized as Value::Fixed
10641065
#[serde(serialize_with = "avro_serialize_fixed")]
10651066
fixed_field: [u8; 6],
10661067
#[serde(serialize_with = "avro_serialize_fixed")]
10671068
fixed_field2: &'a [u8],
1069+
#[serde(serialize_with = "avro_serialize_fixed")]
1070+
vec_field2: Vec<u8>,
10681071

10691072
// will be serialized as Value::Bytes
10701073
#[serde(serialize_with = "avro_serialize_bytes")]
10711074
bytes_field: &'a [u8],
10721075
#[serde(serialize_with = "avro_serialize_bytes")]
10731076
bytes_field2: [u8; 6],
1074-
1075-
// will be serialized as Value::Array<Vec<Value::Int>>
1076-
vec_field: Vec<u8>,
1077+
#[serde(serialize_with = "avro_serialize_bytes")]
1078+
vec_field3: Vec<u8>,
10771079
}
10781080

10791081
let test = TestStructFixedField {
@@ -1083,6 +1085,8 @@ mod tests {
10831085
fixed_field: [1; 6],
10841086
fixed_field2: &[6, 66],
10851087
vec_field: vec![3, 33],
1088+
vec_field2: vec![4, 44],
1089+
vec_field3: vec![5, 55],
10861090
};
10871091
let expected = Value::Record(vec![
10881092
(
@@ -1094,6 +1098,15 @@ mod tests {
10941098
.collect(),
10951099
),
10961100
),
1101+
(
1102+
"vec_field".to_owned(),
1103+
Value::Array(
1104+
test.vec_field
1105+
.iter()
1106+
.map(|i| Value::Int(*i as i32))
1107+
.collect(),
1108+
),
1109+
),
10971110
(
10981111
"fixed_field".to_owned(),
10991112
Value::Fixed(6, Vec::from(test.fixed_field)),
@@ -1102,6 +1115,10 @@ mod tests {
11021115
"fixed_field2".to_owned(),
11031116
Value::Fixed(2, Vec::from(test.fixed_field2)),
11041117
),
1118+
(
1119+
"vec_field2".to_owned(),
1120+
Value::Fixed(2, Vec::from(test.vec_field2.clone())),
1121+
),
11051122
(
11061123
"bytes_field".to_owned(),
11071124
Value::Bytes(Vec::from(test.bytes_field)),
@@ -1111,13 +1128,8 @@ mod tests {
11111128
Value::Bytes(Vec::from(test.bytes_field2)),
11121129
),
11131130
(
1114-
"vec_field".to_owned(),
1115-
Value::Array(
1116-
test.vec_field
1117-
.iter()
1118-
.map(|i| Value::Int(*i as i32))
1119-
.collect(),
1120-
),
1131+
"vec_field3".to_owned(),
1132+
Value::Bytes(Vec::from(test.vec_field3.clone())),
11211133
),
11221134
]);
11231135
assert_eq!(expected, to_value(test).unwrap());

lang/rust/avro/src/types.rs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -535,10 +535,10 @@ impl Value {
535535
}
536536
})
537537
}
538-
(v, s) => Some(format!(
539-
"Unsupported value-schema combination: \nValue: {:?},\nSchema: {:?}",
540-
v, s
541-
)),
538+
(v, s) => {
539+
debug!("Unsupported value-schema ({:?}-{:?}) combination:", v, s);
540+
Some("Unsupported value-schema combination".to_string())
541+
}
542542
}
543543
}
544544

@@ -2405,11 +2405,10 @@ Field with name '"b"' is not a member of the map items"#,
24052405
struct TestStructFixedField<'a> {
24062406
#[serde(serialize_with = "avro_serialize_bytes")]
24072407
bytes_field: &'a [u8],
2408+
#[serde(serialize_with = "avro_serialize_bytes")]
24082409
vec_field: Vec<u8>,
24092410
#[serde(serialize_with = "avro_serialize_fixed")]
24102411
fixed_field: [u8; 6],
2411-
// #[serde(with = "serde_bytes")]
2412-
// #[serde(with = "serde_bytes")]
24132412
}
24142413

24152414
let test = TestStructFixedField {

0 commit comments

Comments
 (0)