mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2025-01-06 01:32:18 +00:00
14b3181e67
* more spanner additions * implement iface * begin implement * wrapped up spanner functions * rem interface * added in necessary comments * comments on enums * begin adding tests * plug in surround vote detection * saved indexed db implementation * finally plugin slashing for historical data * Small fixes * add in all gazelle * save incoming new functions * resolve todo * fix broken test channel item * tests passing when fixing certain arguments and setups * Add comment and change unimplemented * find surround * added in gazelle * gazz * feedback from shay * fixed up naming * Update * Add tests for detectSurroundVotes * Remove logs * Fix slasher test * formatting * Remove unneeded condition * Test indices better * fixing broken build * pass tests * skip tests * imports * Update slasher/detection/attestations/attestations_test.go * Update slasher/beaconclient/historical_data_retrieval_test.go * Address comments * Rename function * Add comment for future optimization * Fix comment Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
68 lines
1.6 KiB
Go
68 lines
1.6 KiB
Go
package beaconclient
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
ptypes "github.com/gogo/protobuf/types"
|
|
"github.com/golang/mock/gomock"
|
|
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
|
"github.com/prysmaticlabs/prysm/shared/event"
|
|
"github.com/prysmaticlabs/prysm/shared/mock"
|
|
)
|
|
|
|
func TestService_ReceiveBlocks(t *testing.T) {
|
|
ctrl := gomock.NewController(t)
|
|
defer ctrl.Finish()
|
|
client := mock.NewMockBeaconChainClient(ctrl)
|
|
|
|
bs := Service{
|
|
beaconClient: client,
|
|
blockFeed: new(event.Feed),
|
|
}
|
|
stream := mock.NewMockBeaconChain_StreamBlocksClient(ctrl)
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
client.EXPECT().StreamBlocks(
|
|
gomock.Any(),
|
|
&ptypes.Empty{},
|
|
).Return(stream, nil)
|
|
stream.EXPECT().Context().Return(ctx).AnyTimes()
|
|
stream.EXPECT().Recv().Return(
|
|
ðpb.SignedBeaconBlock{},
|
|
nil,
|
|
).Do(func() {
|
|
cancel()
|
|
})
|
|
bs.receiveBlocks(ctx)
|
|
}
|
|
|
|
func TestService_ReceiveAttestations(t *testing.T) {
|
|
ctrl := gomock.NewController(t)
|
|
defer ctrl.Finish()
|
|
client := mock.NewMockBeaconChainClient(ctrl)
|
|
|
|
bs := Service{
|
|
beaconClient: client,
|
|
blockFeed: new(event.Feed),
|
|
}
|
|
stream := mock.NewMockBeaconChain_StreamIndexedAttestationsClient(ctrl)
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
att := ðpb.IndexedAttestation{
|
|
Data: ðpb.AttestationData{
|
|
Slot: 5,
|
|
},
|
|
}
|
|
client.EXPECT().StreamIndexedAttestations(
|
|
gomock.Any(),
|
|
&ptypes.Empty{},
|
|
).Return(stream, nil)
|
|
stream.EXPECT().Context().Return(ctx).AnyTimes()
|
|
stream.EXPECT().Recv().Return(
|
|
att,
|
|
nil,
|
|
).Do(func() {
|
|
cancel()
|
|
})
|
|
bs.receiveAttestations(ctx)
|
|
}
|