prysm-pulse/testing/util/attestation_test.go
Sammy Rosso 8ebbde7836
Testutil refactor attestations (#10952)
* Add AttestationUtil receiver

* Modify usage to account for the receiver

* Add missing explanatory comments

Co-authored-by: Radosław Kapka <rkapka@wp.pl>
2022-06-29 16:42:33 +00:00

59 lines
2.1 KiB
Go

package util
import (
"testing"
fieldparams "github.com/prysmaticlabs/prysm/config/fieldparams"
"github.com/prysmaticlabs/prysm/config/params"
v1 "github.com/prysmaticlabs/prysm/proto/eth/v1"
ethpb "github.com/prysmaticlabs/prysm/proto/prysm/v1alpha1"
"github.com/prysmaticlabs/prysm/testing/require"
)
func TestHydrateAttestation(t *testing.T) {
a := NewAttestationUtil().HydrateAttestation(&ethpb.Attestation{})
_, err := a.HashTreeRoot()
require.NoError(t, err)
require.DeepEqual(t, a.Signature, make([]byte, fieldparams.BLSSignatureLength))
}
func TestHydrateAttestationData(t *testing.T) {
d := NewAttestationUtil().HydrateAttestationData(&ethpb.AttestationData{})
_, err := d.HashTreeRoot()
require.NoError(t, err)
require.DeepEqual(t, d.BeaconBlockRoot, make([]byte, fieldparams.RootLength))
require.DeepEqual(t, d.Target.Root, make([]byte, fieldparams.RootLength))
require.DeepEqual(t, d.Source.Root, make([]byte, fieldparams.RootLength))
}
func TestHydrateV1Attestation(t *testing.T) {
a := NewAttestationUtil().HydrateV1Attestation(&v1.Attestation{})
_, err := a.HashTreeRoot()
require.NoError(t, err)
require.DeepEqual(t, a.Signature, make([]byte, fieldparams.BLSSignatureLength))
}
func TestHydrateV1AttestationData(t *testing.T) {
d := NewAttestationUtil().HydrateV1AttestationData(&v1.AttestationData{})
_, err := d.HashTreeRoot()
require.NoError(t, err)
require.DeepEqual(t, d.BeaconBlockRoot, make([]byte, fieldparams.RootLength))
require.DeepEqual(t, d.Target.Root, make([]byte, fieldparams.RootLength))
require.DeepEqual(t, d.Source.Root, make([]byte, fieldparams.RootLength))
}
func TestHydrateIndexedAttestation(t *testing.T) {
a := &ethpb.IndexedAttestation{}
a = NewAttestationUtil().HydrateIndexedAttestation(a)
_, err := a.HashTreeRoot()
require.NoError(t, err)
_, err = a.Data.HashTreeRoot()
require.NoError(t, err)
}
func TestGenerateAttestations_EpochBoundary(t *testing.T) {
gs, pk := DeterministicGenesisState(t, 32)
_, err := NewAttestationUtil().GenerateAttestations(gs, pk, 1, params.BeaconConfig().SlotsPerEpoch, false)
require.NoError(t, err)
}