diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-02-25 04:58:42 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-02-25 04:58:42 +0800 |
commit | ed90efb05b2cfedf36c263f6974b8748d757a543 (patch) | |
tree | 934ddd0c2d3ff22a004d727348aaa6fd2d93fec1 | |
parent | 5a43173e5599b0f2eceb057b636bc45c4d51919b (diff) | |
parent | 923950ccaaa4f9c1c0cebfbdd99fb0f16c47fd37 (diff) | |
download | dexon-ed90efb05b2cfedf36c263f6974b8748d757a543.tar.gz dexon-ed90efb05b2cfedf36c263f6974b8748d757a543.tar.zst dexon-ed90efb05b2cfedf36c263f6974b8748d757a543.zip |
Merge pull request #378 from Gustav-Simonsson/fix_account_manager_tests
Fix key store address hex decoding and accounts test
-rw-r--r-- | accounts/account_manager.go | 4 | ||||
-rw-r--r-- | accounts/accounts_test.go | 14 | ||||
-rw-r--r-- | crypto/key_store_plain.go | 7 |
3 files changed, 22 insertions, 3 deletions
diff --git a/accounts/account_manager.go b/accounts/account_manager.go index da0bd8900..f7a7506ba 100644 --- a/accounts/account_manager.go +++ b/accounts/account_manager.go @@ -56,6 +56,10 @@ func NewAccountManager(keyStore crypto.KeyStore2) AccountManager { return *am } +func (am AccountManager) DeleteAccount(address []byte, auth string) error { + return am.keyStore.DeleteKey(address, auth) +} + func (am *AccountManager) Sign(fromAccount *Account, keyAuth string, toSign []byte) (signature []byte, err error) { key, err := am.keyStore.GetKey(fromAccount.Address, keyAuth) if err != nil { diff --git a/accounts/accounts_test.go b/accounts/accounts_test.go index 127334404..4e97de545 100644 --- a/accounts/accounts_test.go +++ b/accounts/accounts_test.go @@ -9,7 +9,7 @@ import ( ) func TestAccountManager(t *testing.T) { - ks := crypto.NewKeyStorePlain(ethutil.DefaultDataDir()) + ks := crypto.NewKeyStorePlain(ethutil.DefaultDataDir() + "/testaccounts") am := NewAccountManager(ks) pass := "" // not used but required by API a1, err := am.NewAccount(pass) @@ -18,4 +18,16 @@ func TestAccountManager(t *testing.T) { if err != nil { t.Fatal(err) } + + // Cleanup + accounts, err := am.Accounts() + if err != nil { + t.Fatal(err) + } + for _, account := range accounts { + err := am.DeleteAccount(account.Address, pass) + if err != nil { + t.Fatal(err) + } + } } diff --git a/crypto/key_store_plain.go b/crypto/key_store_plain.go index 255ae0ed7..338a4a2c3 100644 --- a/crypto/key_store_plain.go +++ b/crypto/key_store_plain.go @@ -119,8 +119,11 @@ func GetKeyAddresses(keysDirPath string) (addresses [][]byte, err error) { } addresses = make([][]byte, len(fileInfos)) for i, fileInfo := range fileInfos { - addresses[i] = make([]byte, 40) - addresses[i] = []byte(fileInfo.Name()) + address, err := hex.DecodeString(fileInfo.Name()) + if err != nil { + continue + } + addresses[i] = address } return addresses, err } |