github.com/prysmaticlabs/prysm@v1.4.4/validator/node/node_test.go (about) 1 package node 2 3 import ( 4 "context" 5 "flag" 6 "io/ioutil" 7 "os" 8 "path/filepath" 9 "testing" 10 11 "github.com/prysmaticlabs/prysm/cmd/validator/flags" 12 "github.com/prysmaticlabs/prysm/shared/testutil/require" 13 "github.com/prysmaticlabs/prysm/validator/accounts" 14 "github.com/prysmaticlabs/prysm/validator/accounts/wallet" 15 "github.com/prysmaticlabs/prysm/validator/keymanager" 16 logTest "github.com/sirupsen/logrus/hooks/test" 17 "github.com/urfave/cli/v2" 18 ) 19 20 // Test that the sharding node can build with default flag values. 21 func TestNode_Builds(t *testing.T) { 22 app := cli.App{} 23 set := flag.NewFlagSet("test", 0) 24 set.String("datadir", t.TempDir()+"/datadir", "the node data directory") 25 dir := t.TempDir() + "/walletpath" 26 passwordDir := t.TempDir() + "/password" 27 require.NoError(t, os.MkdirAll(passwordDir, os.ModePerm)) 28 passwordFile := filepath.Join(passwordDir, "password.txt") 29 walletPassword := "$$Passw0rdz2$$" 30 require.NoError(t, ioutil.WriteFile( 31 passwordFile, 32 []byte(walletPassword), 33 os.ModePerm, 34 )) 35 set.String("wallet-dir", dir, "path to wallet") 36 set.String("wallet-password-file", passwordFile, "path to wallet password") 37 set.String("keymanager-kind", "imported", "keymanager kind") 38 set.String("verbosity", "debug", "log verbosity") 39 require.NoError(t, set.Set(flags.WalletPasswordFileFlag.Name, passwordFile)) 40 context := cli.NewContext(&app, set, nil) 41 _, err := accounts.CreateWalletWithKeymanager(context.Context, &accounts.CreateWalletConfig{ 42 WalletCfg: &wallet.Config{ 43 WalletDir: dir, 44 KeymanagerKind: keymanager.Imported, 45 WalletPassword: walletPassword, 46 }, 47 }) 48 require.NoError(t, err) 49 50 valClient, err := NewValidatorClient(context) 51 require.NoError(t, err, "Failed to create ValidatorClient") 52 err = valClient.db.Close() 53 require.NoError(t, err) 54 } 55 56 // TestClearDB tests clearing the database 57 func TestClearDB(t *testing.T) { 58 hook := logTest.NewGlobal() 59 tmp := filepath.Join(t.TempDir(), "datadirtest") 60 require.NoError(t, clearDB(context.Background(), tmp, true)) 61 require.LogsContain(t, hook, "Removing database") 62 }