prysm-pulse/validator/db/kv/genesis_test.go

44 lines
972 B
Go
Raw Normal View History

package kv
import (
"context"
"testing"
"github.com/prysmaticlabs/prysm/config/params"
"github.com/prysmaticlabs/prysm/shared/testutil/require"
)
func TestStore_GenesisValidatorsRoot_ReadAndWrite(t *testing.T) {
ctx := context.Background()
db := setupDB(t, [][48]byte{})
tests := []struct {
name string
want []byte
write []byte
wantErr bool
}{
{
name: "empty then write",
want: nil,
write: params.BeaconConfig().ZeroHash[:],
},
{
name: "zero then overwrite rejected",
want: params.BeaconConfig().ZeroHash[:],
write: []byte{5},
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := db.GenesisValidatorsRoot(ctx)
require.NoError(t, err)
require.DeepEqual(t, tt.want, got)
err = db.SaveGenesisValidatorsRoot(ctx, tt.write)
if (err != nil) != tt.wantErr {
t.Errorf("GenesisValidatorRoot() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}