package db import ( "flag" "testing" "github.com/prysmaticlabs/prysm/shared/cmd" "github.com/prysmaticlabs/prysm/shared/testutil/assert" "github.com/prysmaticlabs/prysm/shared/testutil/require" dbtest "github.com/prysmaticlabs/prysm/validator/db/testing" "github.com/urfave/cli/v2" ) func Test_migrateUp_NoDBFound(t *testing.T) { app := cli.App{} set := flag.NewFlagSet("test", 0) set.String(cmd.DataDirFlag.Name, "", "") require.NoError(t, set.Set(cmd.DataDirFlag.Name, "")) cliCtx := cli.NewContext(&app, set, nil) err := migrateUp(cliCtx) assert.ErrorContains(t, "No validator db found at path", err) } func Test_migrateUp_OK(t *testing.T) { validatorDB := dbtest.SetupDB(t, nil) dbPath := validatorDB.DatabasePath() require.NoError(t, validatorDB.Close()) app := cli.App{} set := flag.NewFlagSet("test", 0) set.String(cmd.DataDirFlag.Name, dbPath, "") require.NoError(t, set.Set(cmd.DataDirFlag.Name, dbPath)) cliCtx := cli.NewContext(&app, set, nil) assert.NoError(t, migrateUp(cliCtx)) } func Test_migrateDown_NoDBFound(t *testing.T) { app := cli.App{} set := flag.NewFlagSet("test", 0) set.String(cmd.DataDirFlag.Name, "", "") require.NoError(t, set.Set(cmd.DataDirFlag.Name, "")) cliCtx := cli.NewContext(&app, set, nil) err := migrateDown(cliCtx) assert.ErrorContains(t, "No validator db found at path", err) } func Test_migrateDown_OK(t *testing.T) { validatorDB := dbtest.SetupDB(t, nil) dbPath := validatorDB.DatabasePath() require.NoError(t, validatorDB.Close()) app := cli.App{} set := flag.NewFlagSet("test", 0) set.String(cmd.DataDirFlag.Name, dbPath, "") require.NoError(t, set.Set(cmd.DataDirFlag.Name, dbPath)) cliCtx := cli.NewContext(&app, set, nil) assert.NoError(t, migrateDown(cliCtx)) }