From ac19952110ca0d02d96e017412ca965543426610 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Mon, 22 Jul 2024 23:24:02 +1000 Subject: [PATCH] Add serialisation test for `Strategy` Signed-off-by: Jiahao XU --- Cargo.lock | 1 + crates/binstalk-types/Cargo.toml | 3 +++ .../binstalk-types/src/cargo_toml_binstall.rs | 17 +++++++++++++++++ 3 files changed, 21 insertions(+) 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()) + ) + }); + } +}