package accounts import ( "io/ioutil" "os" "testing" "github.com/prysmaticlabs/prysm/shared/keystore" "github.com/prysmaticlabs/prysm/shared/params" "github.com/prysmaticlabs/prysm/shared/testutil" ) func TestNewValidatorAccount_AccountExists(t *testing.T) { directory := testutil.TempDir() + "/testkeystore" defer func() { if err := os.RemoveAll(directory); err != nil { t.Log(err) } }() validatorKey, err := keystore.NewKey() if err != nil { t.Fatalf("Cannot create new key: %v", err) } ks := keystore.NewKeystore(directory) if err := ks.StoreKey(directory+params.BeaconConfig().ValidatorPrivkeyFileName, validatorKey, ""); err != nil { t.Fatalf("Unable to store key %v", err) } if err := NewValidatorAccount(directory, ""); err != nil { t.Errorf("Should support multiple keys: %v", err) } files, err := ioutil.ReadDir(directory) if err != nil { t.Error(err) } if len(files) != 3 { t.Errorf("multiple validators were not created only %v files in directory", len(files)) for _, f := range files { t.Errorf("%v\n", f.Name()) } } if err := os.RemoveAll(directory); err != nil { t.Fatalf("Could not remove directory: %v", err) } }