Merge pull request #682 from ethcore/additional_sstore_test
additional (failing) SecretStore test
This commit is contained in:
commit
1031ce641d
@ -220,12 +220,12 @@ impl SecretStore {
|
||||
|
||||
/// Creates new account
|
||||
pub fn new_account(&mut self, pass: &str) -> Result<Address, ::std::io::Error> {
|
||||
let secret = H256::random();
|
||||
let key_pair = crypto::KeyPair::create().expect("Error creating key-pair. Something wrong with crypto libraries?");
|
||||
let address = Address::from(key_pair.public().sha3());
|
||||
let key_id = H128::random();
|
||||
self.insert(key_id.clone(), secret, pass);
|
||||
self.insert(key_id.clone(), key_pair.secret().clone(), pass);
|
||||
|
||||
let mut key_file = self.directory.get(&key_id).expect("the key was just inserted");
|
||||
let address = Address::random();
|
||||
key_file.account = Some(address);
|
||||
try!(self.directory.save(key_file));
|
||||
Ok(address)
|
||||
@ -387,6 +387,7 @@ mod tests {
|
||||
use super::*;
|
||||
use devtools::*;
|
||||
use common::*;
|
||||
use crypto::KeyPair;
|
||||
|
||||
#[test]
|
||||
fn can_insert() {
|
||||
@ -561,4 +562,15 @@ mod tests {
|
||||
let accounts = sstore.accounts().unwrap();
|
||||
assert_eq!(30, accounts.len());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn validate_generated_addresses() {
|
||||
let temp = RandomTempPath::create_dir();
|
||||
let mut sstore = SecretStore::new_test(&temp);
|
||||
let addr = sstore.new_account("test").unwrap();
|
||||
let _ok = sstore.unlock_account(&addr, "test").unwrap();
|
||||
let secret = sstore.account_secret(&addr).unwrap();
|
||||
let kp = KeyPair::from_secret(secret).unwrap();
|
||||
assert_eq!(Address::from(kp.public().sha3()), addr);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user