From 841db02b30afc52951bdcd4a85686b06ecd20b24 Mon Sep 17 00:00:00 2001 From: ChristianVisintin Date: Thu, 24 Dec 2020 16:57:04 +0100 Subject: [PATCH] empty method sshkey_storage --- src/system/sshkey_storage.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/system/sshkey_storage.rs b/src/system/sshkey_storage.rs index b684e4a..016e688 100644 --- a/src/system/sshkey_storage.rs +++ b/src/system/sshkey_storage.rs @@ -57,6 +57,15 @@ impl SshKeyStorage { SshKeyStorage { hosts } } + /// ### empty + /// + /// Create an empty ssh key storage; used in case `ConfigClient` is not available + pub fn empty() -> Self { + SshKeyStorage { + hosts: HashMap::new(), + } + } + /// ### resolve /// /// Return RSA key path from host and username @@ -97,11 +106,20 @@ mod tests { // Verify key exists let mut exp_key_path: PathBuf = key_path.clone(); exp_key_path.push("pi@192.168.1.31.key"); - assert_eq!(*storage.resolve("192.168.1.31", "pi").unwrap(), exp_key_path); + assert_eq!( + *storage.resolve("192.168.1.31", "pi").unwrap(), + exp_key_path + ); // Verify unexisting key assert!(storage.resolve("deskichup", "veeso").is_none()); } + #[test] + fn test_system_sshkey_storage_empty() { + let storage: SshKeyStorage = SshKeyStorage::empty(); + assert_eq!(storage.hosts.len(), 0); + } + /// ### get_paths /// /// Get paths for configuration and keys directory