From bac063ea4beda546262796501cd5b9173e7436df Mon Sep 17 00:00:00 2001 From: Chevdor Date: Fri, 3 Aug 2018 14:34:17 +0200 Subject: [PATCH] Add seed generation tests (#476) * Fix the --key generation * Add unit tests Ref #474 --- substrate/substrate/keystore/src/lib.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/substrate/substrate/keystore/src/lib.rs b/substrate/substrate/keystore/src/lib.rs index 9a58ded340..14033b4109 100644 --- a/substrate/substrate/keystore/src/lib.rs +++ b/substrate/substrate/keystore/src/lib.rs @@ -156,7 +156,7 @@ impl Store { // TODO: Remove this pub fn generate_from_seed(&mut self, seed: &str) -> Result { let mut s: [u8; 32] = [' ' as u8; 32]; - + let was_hex = if seed.len() == 66 && &seed[0..2] == "0x" { if let Ok(d) = hex::decode(&seed[2..]) { s.copy_from_slice(&d); @@ -271,4 +271,22 @@ mod tests { assert_eq!(store.contents().unwrap()[0], key.public()); } + + #[test] + fn test_generate_from_seed() { + let temp_dir = TempDir::new("keystore").unwrap(); + let mut store = Store::open(temp_dir.path().to_owned()).unwrap(); + + let pair = store.generate_from_seed("0x1").unwrap(); + assert_eq!("5GqhgbUd2S9uc5Tm7hWhw29Tw2jBnuHshmTV1fDF4V1w3G2z", pair.public().to_ss58check()); + + let pair = store.generate_from_seed("0x3d97c819d68f9bafa7d6e79cb991eebcd77d966c5334c0b94d9e1fa7ad0869dc").unwrap(); + assert_eq!("5DKUrgFqCPV8iAXx9sjy1nyBygQCeiUYRFWurZGhnrn3HBL8", pair.public().to_ss58check()); + + let pair = store.generate_from_seed("12345678901234567890123456789022").unwrap(); + assert_eq!("5DscZvfjnM5im7oKRXXP9xtCG1SEwfMb8J5eGLmw5EHhoHR3", pair.public().to_ss58check()); + + let pair = store.generate_from_seed("1").unwrap(); + assert_eq!("5DYnksEZFc7kgtfyNM1xK2eBtW142gZ3Ho3NQubrF2S6B2fq", pair.public().to_ss58check()); + } }