github.com/prysmaticlabs/prysm@v1.4.4/validator/db/migrate_test.go (about) 1 package db 2 3 import ( 4 "flag" 5 "testing" 6 7 "github.com/prysmaticlabs/prysm/shared/cmd" 8 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 9 "github.com/prysmaticlabs/prysm/shared/testutil/require" 10 dbtest "github.com/prysmaticlabs/prysm/validator/db/testing" 11 "github.com/urfave/cli/v2" 12 ) 13 14 func TestMigrateUp_NoDBFound(t *testing.T) { 15 app := cli.App{} 16 set := flag.NewFlagSet("test", 0) 17 set.String(cmd.DataDirFlag.Name, "", "") 18 require.NoError(t, set.Set(cmd.DataDirFlag.Name, "")) 19 cliCtx := cli.NewContext(&app, set, nil) 20 err := MigrateUp(cliCtx) 21 assert.ErrorContains(t, "No validator db found at path", err) 22 } 23 24 func TestMigrateUp_OK(t *testing.T) { 25 validatorDB := dbtest.SetupDB(t, nil) 26 dbPath := validatorDB.DatabasePath() 27 require.NoError(t, validatorDB.Close()) 28 app := cli.App{} 29 set := flag.NewFlagSet("test", 0) 30 set.String(cmd.DataDirFlag.Name, dbPath, "") 31 require.NoError(t, set.Set(cmd.DataDirFlag.Name, dbPath)) 32 cliCtx := cli.NewContext(&app, set, nil) 33 assert.NoError(t, MigrateUp(cliCtx)) 34 } 35 36 func TestMigrateDown_NoDBFound(t *testing.T) { 37 app := cli.App{} 38 set := flag.NewFlagSet("test", 0) 39 set.String(cmd.DataDirFlag.Name, "", "") 40 require.NoError(t, set.Set(cmd.DataDirFlag.Name, "")) 41 cliCtx := cli.NewContext(&app, set, nil) 42 err := MigrateDown(cliCtx) 43 assert.ErrorContains(t, "No validator db found at path", err) 44 } 45 46 func TestMigrateDown_OK(t *testing.T) { 47 validatorDB := dbtest.SetupDB(t, nil) 48 dbPath := validatorDB.DatabasePath() 49 require.NoError(t, validatorDB.Close()) 50 app := cli.App{} 51 set := flag.NewFlagSet("test", 0) 52 set.String(cmd.DataDirFlag.Name, dbPath, "") 53 require.NoError(t, set.Set(cmd.DataDirFlag.Name, dbPath)) 54 cliCtx := cli.NewContext(&app, set, nil) 55 assert.NoError(t, MigrateDown(cliCtx)) 56 }