github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/db/kv/archived_point_test.go (about) 1 package kv 2 3 import ( 4 "context" 5 "testing" 6 7 types "github.com/prysmaticlabs/eth2-types" 8 "github.com/prysmaticlabs/prysm/shared/testutil" 9 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 10 "github.com/prysmaticlabs/prysm/shared/testutil/require" 11 ) 12 13 func TestArchivedPointIndexRoot_CanSaveRetrieve(t *testing.T) { 14 db := setupDB(t) 15 ctx := context.Background() 16 i1 := types.Slot(100) 17 r1 := [32]byte{'A'} 18 19 received := db.ArchivedPointRoot(ctx, i1) 20 require.NotEqual(t, r1, received, "Should not have been saved") 21 st, err := testutil.NewBeaconState() 22 require.NoError(t, err) 23 require.NoError(t, st.SetSlot(i1)) 24 require.NoError(t, db.SaveState(ctx, st, r1)) 25 received = db.ArchivedPointRoot(ctx, i1) 26 assert.Equal(t, r1, received, "Should have been saved") 27 } 28 29 func TestLastArchivedPoint_CanRetrieve(t *testing.T) { 30 db := setupDB(t) 31 ctx := context.Background() 32 i, err := db.LastArchivedSlot(ctx) 33 require.NoError(t, err) 34 assert.Equal(t, types.Slot(0), i, "Did not get correct index") 35 36 st, err := testutil.NewBeaconState() 37 require.NoError(t, err) 38 assert.NoError(t, db.SaveState(ctx, st, [32]byte{'A'})) 39 assert.Equal(t, [32]byte{'A'}, db.LastArchivedRoot(ctx), "Did not get wanted root") 40 41 assert.NoError(t, st.SetSlot(2)) 42 assert.NoError(t, db.SaveState(ctx, st, [32]byte{'B'})) 43 assert.Equal(t, [32]byte{'B'}, db.LastArchivedRoot(ctx)) 44 45 assert.NoError(t, st.SetSlot(3)) 46 assert.NoError(t, db.SaveState(ctx, st, [32]byte{'C'})) 47 48 i, err = db.LastArchivedSlot(ctx) 49 require.NoError(t, err) 50 assert.Equal(t, types.Slot(3), i, "Did not get correct index") 51 }