prysm-pulse/validator/db/migrate_test.go
2021-01-18 11:32:17 -08:00

57 lines
1.7 KiB
Go

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))
}