cufflink_types/host/
mod.rs1pub mod ext;
5pub mod http;
6pub mod nats;
7pub mod request;
8pub mod storage;
9
10#[cfg(test)]
11pub(crate) mod tests {
12 use serde::de::DeserializeOwned;
13 use serde::Serialize;
14 use serde_json::Value;
15 use std::fmt::Debug;
16
17 pub(crate) fn round_trip<T: Serialize + DeserializeOwned + PartialEq + Debug>(
18 value: &T,
19 wire: Value,
20 ) {
21 assert_eq!(serde_json::to_value(value).expect("serialize"), wire);
22 assert_eq!(
23 &serde_json::from_value::<T>(wire).expect("deserialize"),
24 value
25 );
26 }
27
28 pub(crate) fn refused<T: DeserializeOwned + Debug>(wire: Value) {
29 let parsed = serde_json::from_value::<T>(wire.clone());
30 assert!(parsed.is_err(), "{wire} parsed as {parsed:?}");
31 }
32}