github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/db/kv/operations_test.go (about) 1 package kv 2 3 import ( 4 "context" 5 "testing" 6 7 ethpb "github.com/prysmaticlabs/prysm/proto/eth/v1alpha1" 8 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 9 "github.com/prysmaticlabs/prysm/shared/testutil/require" 10 "google.golang.org/protobuf/proto" 11 ) 12 13 func TestStore_VoluntaryExits_CRUD(t *testing.T) { 14 db := setupDB(t) 15 ctx := context.Background() 16 exit := ðpb.VoluntaryExit{ 17 Epoch: 5, 18 } 19 exitRoot, err := exit.HashTreeRoot() 20 require.NoError(t, err) 21 retrieved, err := db.VoluntaryExit(ctx, exitRoot) 22 require.NoError(t, err) 23 assert.Equal(t, (*ethpb.VoluntaryExit)(nil), retrieved, "Expected nil voluntary exit") 24 require.NoError(t, db.SaveVoluntaryExit(ctx, exit)) 25 assert.Equal(t, true, db.HasVoluntaryExit(ctx, exitRoot), "Expected voluntary exit to exist in the db") 26 retrieved, err = db.VoluntaryExit(ctx, exitRoot) 27 require.NoError(t, err) 28 assert.Equal(t, true, proto.Equal(exit, retrieved), "Wanted %v, received %v", exit, retrieved) 29 require.NoError(t, db.deleteVoluntaryExit(ctx, exitRoot)) 30 assert.Equal(t, false, db.HasVoluntaryExit(ctx, exitRoot), "Expected voluntary exit to have been deleted from the db") 31 }