From db0a6a07259d842dd64aba5b581fa50cb6ba5656 Mon Sep 17 00:00:00 2001 From: Dave Hrycyszyn Date: Thu, 6 Jun 2024 14:48:14 +0100 Subject: [PATCH] Ensuring that tests won't step on real key files --- side-node/src/init.rs | 18 ++++++++++-------- side-node/src/main.rs | 3 ++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/side-node/src/init.rs b/side-node/src/init.rs index 676891d..72d176b 100644 --- a/side-node/src/init.rs +++ b/side-node/src/init.rs @@ -8,11 +8,10 @@ use pem::Pem; use bft_json_crdt::keypair::{make_keypair, KeyPair}; -const KEY_FILE: &str = ".side/node/keys.pem"; +const KEY_FILE: &str = "side/node/keys.pem"; -pub(crate) fn init() -> Result<(), std::io::Error> { - println!("Initializing Side Node"); - let home = std::env::var("HOME").expect("couldn't read home directory env variable"); +pub(crate) fn init(home: String) -> Result<(), std::io::Error> { + println!("Initializing Side Node at {home}"); let key_path = key_path(home); ensure_directory_exists(&key_path)?; @@ -59,15 +58,18 @@ mod tests { #[test] fn creates_side_node_directory() { - let node_dir = Path::new(KEY_FILE).parent().unwrap().to_str().unwrap(); - let _ = init(); + let test_home = format!("/tmp/{KEY_FILE}"); + let node_dir = Path::new(&test_home).parent().unwrap().to_str().unwrap(); + let _ = init(test_home.clone()); assert!(std::path::Path::new(node_dir).exists()); } #[test] fn creates_key_file() { - let _ = init(); - assert!(std::path::Path::new(KEY_FILE).exists()); + let test_home = format!("/tmp/{KEY_FILE}"); + let node_dir = Path::new(&test_home).parent().unwrap().to_str().unwrap(); + let _ = init(test_home.clone()); + assert!(std::path::Path::new(node_dir).exists()); } // #[test] diff --git a/side-node/src/main.rs b/side-node/src/main.rs index 7c1ee2b..4872c68 100644 --- a/side-node/src/main.rs +++ b/side-node/src/main.rs @@ -11,7 +11,8 @@ async fn main() { match &args.command { Some(Commands::Init {}) => { - let _ = init::init(); + let home = std::env::var("HOME").expect("couldn't read home directory env variable"); + let _ = init::init(home); } Some(Commands::Run {}) => { let (mut bft_crdt, keys) = list_transaction_crdt::new();