prysm-pulse/validator/db/kv/genesis_test.go
terencechain d17996f8b0
Update to V4 🚀 (#12134)
* Update V3 from V4

* Fix build v3 -> v4

* Update ssz

* Update beacon_chain.pb.go

* Fix formatter import

* Update update-mockgen.sh comment to v4

* Fix conflicts. Pass build and tests

* Fix test
2023-03-17 18:52:56 +00:00

45 lines
1.0 KiB
Go

package kv
import (
"context"
"testing"
fieldparams "github.com/prysmaticlabs/prysm/v4/config/fieldparams"
"github.com/prysmaticlabs/prysm/v4/config/params"
"github.com/prysmaticlabs/prysm/v4/testing/require"
)
func TestStore_GenesisValidatorsRoot_ReadAndWrite(t *testing.T) {
ctx := context.Background()
db := setupDB(t, [][fieldparams.BLSPubkeyLength]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("GenesisValidatorsRoot() error = %v, wantErr %v", err, tt.wantErr)
}
})
}
}