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  }