github.com/prysmaticlabs/prysm@v1.4.4/beacon-chain/cache/skip_slot_cache_test.go (about) 1 package cache_test 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/prysmaticlabs/prysm/beacon-chain/cache" 8 iface "github.com/prysmaticlabs/prysm/beacon-chain/state/interface" 9 "github.com/prysmaticlabs/prysm/beacon-chain/state/v1" 10 pb "github.com/prysmaticlabs/prysm/proto/beacon/p2p/v1" 11 "github.com/prysmaticlabs/prysm/shared/testutil/assert" 12 "github.com/prysmaticlabs/prysm/shared/testutil/require" 13 ) 14 15 func TestSkipSlotCache_RoundTrip(t *testing.T) { 16 ctx := context.Background() 17 c := cache.NewSkipSlotCache() 18 19 r := [32]byte{'a'} 20 state, err := c.Get(ctx, r) 21 require.NoError(t, err) 22 assert.Equal(t, iface.BeaconState(nil), state, "Empty cache returned an object") 23 24 require.NoError(t, c.MarkInProgress(r)) 25 26 state, err = v1.InitializeFromProto(&pb.BeaconState{ 27 Slot: 10, 28 }) 29 require.NoError(t, err) 30 31 require.NoError(t, c.Put(ctx, r, state)) 32 require.NoError(t, c.MarkNotInProgress(r)) 33 34 res, err := c.Get(ctx, r) 35 require.NoError(t, err) 36 assert.DeepEqual(t, res.CloneInnerState(), state.CloneInnerState(), "Expected equal protos to return from cache") 37 }