mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
84916672c6
* replace eth2 types * replace protos * regen proto * replace * gaz * deps * amend * regen proto * mod * gaz * gaz * ensure build * ssz * add dep * no more eth2 types * no more eth2 * remg * all builds * buidl * tidy * clean * fmt * val serv * gaz Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
61 lines
1.8 KiB
Go
61 lines
1.8 KiB
Go
package cache
|
|
|
|
import (
|
|
"testing"
|
|
|
|
types "github.com/prysmaticlabs/prysm/consensus-types/primitives"
|
|
"github.com/prysmaticlabs/prysm/testing/require"
|
|
)
|
|
|
|
func TestValidatorPayloadIDsCache_GetAndSaveValidatorPayloadIDs(t *testing.T) {
|
|
cache := NewProposerPayloadIDsCache()
|
|
i, p, ok := cache.GetProposerPayloadIDs(0)
|
|
require.Equal(t, false, ok)
|
|
require.Equal(t, types.ValidatorIndex(0), i)
|
|
require.Equal(t, [pIdLength]byte{}, p)
|
|
|
|
slot := types.Slot(1234)
|
|
vid := types.ValidatorIndex(34234324)
|
|
pid := [8]byte{1, 2, 3, 3, 7, 8, 7, 8}
|
|
cache.SetProposerAndPayloadIDs(slot, vid, pid)
|
|
i, p, ok = cache.GetProposerPayloadIDs(slot)
|
|
require.Equal(t, true, ok)
|
|
require.Equal(t, vid, i)
|
|
require.Equal(t, pid, p)
|
|
|
|
slot = types.Slot(9456456)
|
|
vid = types.ValidatorIndex(6786745)
|
|
cache.SetProposerAndPayloadIDs(slot, vid, [pIdLength]byte{})
|
|
i, p, ok = cache.GetProposerPayloadIDs(slot)
|
|
require.Equal(t, true, ok)
|
|
require.Equal(t, vid, i)
|
|
require.Equal(t, [pIdLength]byte{}, p)
|
|
|
|
// reset cache without pid
|
|
slot = types.Slot(9456456)
|
|
vid = types.ValidatorIndex(11111)
|
|
pid = [8]byte{3, 2, 3, 33, 72, 8, 7, 8}
|
|
cache.SetProposerAndPayloadIDs(slot, vid, pid)
|
|
i, p, ok = cache.GetProposerPayloadIDs(slot)
|
|
require.Equal(t, true, ok)
|
|
require.Equal(t, vid, i)
|
|
require.Equal(t, pid, p)
|
|
|
|
// reset cache with existing pid
|
|
slot = types.Slot(9456456)
|
|
vid = types.ValidatorIndex(11111)
|
|
newPid := [8]byte{1, 2, 3, 33, 72, 8, 7, 1}
|
|
cache.SetProposerAndPayloadIDs(slot, vid, newPid)
|
|
i, p, ok = cache.GetProposerPayloadIDs(slot)
|
|
require.Equal(t, true, ok)
|
|
require.Equal(t, vid, i)
|
|
require.Equal(t, newPid, p)
|
|
|
|
// remove cache entry
|
|
cache.PrunePayloadIDs(slot + 1)
|
|
i, p, ok = cache.GetProposerPayloadIDs(slot)
|
|
require.Equal(t, false, ok)
|
|
require.Equal(t, types.ValidatorIndex(0), i)
|
|
require.Equal(t, [pIdLength]byte{}, p)
|
|
}
|