From 8d38bf7e600719706830728caf94734736d925ec Mon Sep 17 00:00:00 2001 From: Joonas Koivunen Date: Mon, 9 Oct 2023 06:16:59 +0000 Subject: [PATCH] refactor(test): dedup roundtrip test cases --- libs/utils/src/id.rs | 46 ++++++++++++++++++-------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/libs/utils/src/id.rs b/libs/utils/src/id.rs index 395190ae68..fe35032593 100644 --- a/libs/utils/src/id.rs +++ b/libs/utils/src/id.rs @@ -377,51 +377,43 @@ mod tests { assert_eq!(Id::deserialize(&mut deserializer).unwrap(), original_id); } + macro_rules! roundtrip_type { + ($type:ty, $expected_bytes:expr) => {{ + let expected_bytes: [u8; 16] = $expected_bytes; + let original_id = <$type>::from(expected_bytes); + + let ser_bytes = original_id.ser().unwrap(); + assert_eq!(ser_bytes, expected_bytes); + + let des_id = <$type>::des(&ser_bytes).unwrap(); + assert_eq!(des_id, original_id); + }}; + } + #[test] fn test_id_bincode_serde() { - let id_arr = [ + let expected_bytes = [ 173, 80, 132, 115, 129, 226, 72, 254, 170, 201, 135, 108, 199, 26, 228, 24, ]; - let original_id = Id(id_arr); - let expected_bytes = id_arr.to_vec(); - - let ser_bytes = original_id.ser().unwrap(); - assert!(ser_bytes == expected_bytes); - - let des_id = Id::des(&ser_bytes).unwrap(); - assert!(des_id == original_id); + roundtrip_type!(Id, expected_bytes); } #[test] fn test_tenant_id_bincode_serde() { - let id_arr = [ + let expected_bytes = [ 173, 80, 132, 115, 129, 226, 72, 254, 170, 201, 135, 108, 199, 26, 228, 24, ]; - let original_tenant_id = TenantId(Id(id_arr)); - let expected_bytes = id_arr.to_vec(); - - let ser_bytes = original_tenant_id.ser().unwrap(); - assert_eq!(ser_bytes, expected_bytes); - - let des_tenant_id = TenantId::des(&ser_bytes).unwrap(); - assert_eq!(des_tenant_id, original_tenant_id); + roundtrip_type!(TenantId, expected_bytes); } #[test] fn test_timeline_id_bincode_serde() { - let id_arr = [ + let expected_bytes = [ 173, 80, 132, 115, 129, 226, 72, 254, 170, 201, 135, 108, 199, 26, 228, 24, ]; - let original_timeline_id = TimelineId(Id(id_arr)); - let expected_bytes = id_arr.to_vec(); - - let ser_bytes = original_timeline_id.ser().unwrap(); - assert_eq!(ser_bytes, expected_bytes); - - let des_timeline_id = TimelineId::des(&expected_bytes).unwrap(); - assert_eq!(des_timeline_id, original_timeline_id); + roundtrip_type!(TimelineId, expected_bytes); } }