diff --git a/Cargo.lock b/Cargo.lock index b229b76b..276791a3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -425,6 +425,7 @@ dependencies = [ "once_cell", "semver", "serde", + "serde_json", "strum", "strum_macros", "url", diff --git a/crates/binstalk-types/Cargo.toml b/crates/binstalk-types/Cargo.toml index 8560eb7c..54e5d0ed 100644 --- a/crates/binstalk-types/Cargo.toml +++ b/crates/binstalk-types/Cargo.toml @@ -18,3 +18,6 @@ serde = { version = "1.0.163", features = ["derive"] } strum = "0.26.1" strum_macros = "0.26.1" url = { version = "2.3.1", features = ["serde"] } + +[dev-dependencies] +serde_json = "1" diff --git a/crates/binstalk-types/src/cargo_toml_binstall.rs b/crates/binstalk-types/src/cargo_toml_binstall.rs index 02c504f7..1684ac60 100644 --- a/crates/binstalk-types/src/cargo_toml_binstall.rs +++ b/crates/binstalk-types/src/cargo_toml_binstall.rs @@ -177,3 +177,20 @@ pub enum SigningAlgorithm { /// [minisign](https://jedisct1.github.io/minisign/) Minisign, } + +#[cfg(test)] +mod tests { + use strum::VariantArray; + + use super::*; + + #[test] + fn test_strategy_ser() { + Strategy::VARIANTS.iter().for_each(|strategy| { + assert_eq!( + serde_json::to_string(&strategy).unwrap(), + format!(r#""{}""#, strategy.to_str()) + ) + }); + } +}