From 885e3c2a25d5acd5c2a076047a8fe695b83993a0 Mon Sep 17 00:00:00 2001 From: mcatta Date: Mon, 2 Oct 2023 22:41:42 +0200 Subject: [PATCH] test: added tests --- src/main.rs | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/src/main.rs b/src/main.rs index 491c5b6..a6f64ed 100644 --- a/src/main.rs +++ b/src/main.rs @@ -149,4 +149,88 @@ struct VerifyMessagePayload { message: String, public_key: String, signature: String +} + +#[cfg(test)] +mod tests { + use tokio::runtime::Runtime; + + use super::*; + + #[test] + fn test_sign_message() { + // Given + let rt = Runtime::new().unwrap(); + let words: Vec = "scrutinio casaccio cedibile oste tumulto irrorare notturno uffa doganale classico esercito vibrante".split(" ").map(|s| s.to_string()).collect(); + let payload = SignMessagePayload { + message: "Hello, world!".to_string(), + mnemonic: words, + }; + + // When + let result = rt.block_on(sign_message(Json(payload))); + + // Then + assert!(result.into_response().status().is_success()); + } + + #[test] + fn test_sign_message_empty_params() { + // Given + let rt = Runtime::new().unwrap(); + let payload = SignMessagePayload { + message: "Hello, world!".to_string(), + mnemonic: vec![], + }; + + // When + let result = rt.block_on(sign_message(Json(payload))); + assert!(result.into_response().status().is_success()); + } + + #[test] + fn test_verify_message() { + // Given + let rt = Runtime::new().unwrap(); + let payload = VerifyMessagePayload { + message: "Hello, world!".to_string(), + public_key: "ag1DFUCYJ9obNA5eWrhQqhzifFr41DesUD6BxsdwPBE".to_string(), + signature: "UBYHg5Tgeywbm8K5HHEdIM4jnS8sbrnP+yB0a6oGp1FJnukFxtNFzX8XrmRhm92jzbyxWHxKTMZoyAKG+oJyjA".to_string(), + }; + + // When + let result = rt.block_on(verify_message(Json(payload))); + + // Then + assert!(result.into_response().status().is_success()); + } + + #[test] + fn test_verify_message_empty_params() { + // Given + let rt = Runtime::new().unwrap(); + let payload = VerifyMessagePayload { + message: "Hello, world!".to_string(), + public_key: "".to_string(), + signature: "".to_string(), + }; + + // When + let result = rt.block_on(verify_message(Json(payload))); + + // Then + assert!(result.into_response().status().is_success()); + } + + #[test] + fn test_generate_seed() { + // Given + let rt = Runtime::new().unwrap(); + + // When + let result = rt.block_on(generate_seed()); + + // Then + assert!(result.into_response().status().is_success()); + } } \ No newline at end of file