github.com/prysmaticlabs/prysm@v1.4.4/validator/db/kv/genesis_test.go (about) 1 package kv 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/prysmaticlabs/prysm/shared/params" 8 "github.com/prysmaticlabs/prysm/shared/testutil/require" 9 ) 10 11 func TestStore_GenesisValidatorsRoot_ReadAndWrite(t *testing.T) { 12 ctx := context.Background() 13 db := setupDB(t, [][48]byte{}) 14 tests := []struct { 15 name string 16 want []byte 17 write []byte 18 wantErr bool 19 }{ 20 { 21 name: "empty then write", 22 want: nil, 23 write: params.BeaconConfig().ZeroHash[:], 24 }, 25 { 26 name: "zero then overwrite rejected", 27 want: params.BeaconConfig().ZeroHash[:], 28 write: []byte{5}, 29 wantErr: true, 30 }, 31 } 32 for _, tt := range tests { 33 t.Run(tt.name, func(t *testing.T) { 34 got, err := db.GenesisValidatorsRoot(ctx) 35 require.NoError(t, err) 36 require.DeepEqual(t, tt.want, got) 37 err = db.SaveGenesisValidatorsRoot(ctx, tt.write) 38 if (err != nil) != tt.wantErr { 39 t.Errorf("GenesisValidatorRoot() error = %v, wantErr %v", err, tt.wantErr) 40 } 41 }) 42 } 43 }