Skip to content

Commit

Permalink
fix scheduler tests
Browse files Browse the repository at this point in the history
  • Loading branch information
olegshmuelov committed Dec 3, 2024
1 parent 160c6c5 commit 26de334
Show file tree
Hide file tree
Showing 5 changed files with 174 additions and 0 deletions.
30 changes: 30 additions & 0 deletions operator/duties/attester_genesis_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package duties

import (
"bytes"
"context"
"testing"
"time"
Expand Down Expand Up @@ -58,6 +59,35 @@ func setupAttesterGenesisDutiesMock(
}
s.validatorProvider.(*MockValidatorProvider).EXPECT().SelfParticipatingValidators(gomock.Any()).DoAndReturn(getShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().ParticipatingValidators(gomock.Any()).DoAndReturn(getShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().Validator(gomock.Any()).DoAndReturn(
func(pubKey []byte) (*types.SSVShare, bool) {
var ssvShare *types.SSVShare
var minEpoch phase0.Epoch
dutiesMap.Range(func(epoch phase0.Epoch, duties []*eth2apiv1.AttesterDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &types.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
if epoch < minEpoch {
minEpoch = epoch
ssvShare.SetMinParticipationEpoch(epoch)
}
return true
}
}
return true
})

if ssvShare != nil {
return ssvShare, true
}

return nil, false
},
).AnyTimes()

s.beaconNode.(*MockBeaconNode).EXPECT().SubmitBeaconCommitteeSubscriptions(gomock.Any(), gomock.Any()).Return(nil).AnyTimes()

Expand Down
30 changes: 30 additions & 0 deletions operator/duties/attester_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package duties

import (
"bytes"
"context"
"testing"
"time"
Expand Down Expand Up @@ -56,6 +57,35 @@ func setupAttesterDutiesMock(
}
s.validatorProvider.(*MockValidatorProvider).EXPECT().SelfParticipatingValidators(gomock.Any()).DoAndReturn(getShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().ParticipatingValidators(gomock.Any()).DoAndReturn(getShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().Validator(gomock.Any()).DoAndReturn(
func(pubKey []byte) (*types.SSVShare, bool) {
var ssvShare *types.SSVShare
var minEpoch phase0.Epoch
dutiesMap.Range(func(epoch phase0.Epoch, duties []*eth2apiv1.AttesterDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &types.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
if epoch < minEpoch {
minEpoch = epoch
ssvShare.SetMinParticipationEpoch(epoch)
}
return true
}
}
return true
})

if ssvShare != nil {
return ssvShare, true
}

return nil, false
},
).AnyTimes()

s.beaconNode.(*MockBeaconNode).EXPECT().SubmitBeaconCommitteeSubscriptions(gomock.Any(), gomock.Any()).Return(nil).AnyTimes()

Expand Down
52 changes: 52 additions & 0 deletions operator/duties/committee_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package duties

import (
"bytes"
"context"
"testing"
"time"
Expand Down Expand Up @@ -76,6 +77,57 @@ func setupCommitteeDutiesMock(

s.validatorProvider.(*MockValidatorProvider).EXPECT().SelfParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().ParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().Validator(gomock.Any()).DoAndReturn(
func(pubKey []byte) (*ssvtypes.SSVShare, bool) {
var ssvShare *ssvtypes.SSVShare
var minEpoch phase0.Epoch
attDuties.Range(func(epoch phase0.Epoch, duties []*eth2apiv1.AttesterDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &ssvtypes.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
if epoch < minEpoch {
minEpoch = epoch
ssvShare.SetMinParticipationEpoch(epoch)
}
return true
}
}
return true
})

if ssvShare == nil {
minEpoch = phase0.Epoch(0)
syncDuties.Range(func(period uint64, duties []*eth2apiv1.SyncCommitteeDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &ssvtypes.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
firstEpoch := s.network.Beacon.FirstEpochOfSyncPeriod(period)
if firstEpoch < minEpoch {
minEpoch = firstEpoch
ssvShare.SetMinParticipationEpoch(firstEpoch)
}
return true
}
}
return true
})
}

if ssvShare != nil {
return ssvShare, true
}

return nil, false
},
).AnyTimes()

s.validatorController.(*MockValidatorController).EXPECT().AllActiveIndices(gomock.Any(), gomock.Any()).DoAndReturn(
func(epoch phase0.Epoch, afterInit bool) []phase0.ValidatorIndex {
Expand Down
31 changes: 31 additions & 0 deletions operator/duties/sync_committee_genesis_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package duties

import (
"bytes"
"context"
"testing"
"time"
Expand Down Expand Up @@ -69,6 +70,36 @@ func setupSyncCommitteeGenesisDutiesMock(

s.validatorProvider.(*MockValidatorProvider).EXPECT().SelfParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().ParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().Validator(gomock.Any()).DoAndReturn(
func(pubKey []byte) (*ssvtypes.SSVShare, bool) {
var ssvShare *ssvtypes.SSVShare
var minEpoch phase0.Epoch
dutiesMap.Range(func(period uint64, duties []*v1.SyncCommitteeDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &ssvtypes.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
firstEpoch := s.network.Beacon.FirstEpochOfSyncPeriod(period)
if firstEpoch < minEpoch {
minEpoch = firstEpoch
ssvShare.SetMinParticipationEpoch(firstEpoch)
}
return true
}
}
return true
})

if ssvShare != nil {
return ssvShare, true
}

return nil, false
},
).AnyTimes()

s.validatorController.(*MockValidatorController).EXPECT().AllActiveIndices(gomock.Any(), gomock.Any()).DoAndReturn(
func(epoch phase0.Epoch, afterInit bool) []phase0.ValidatorIndex {
Expand Down
31 changes: 31 additions & 0 deletions operator/duties/sync_committee_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package duties

import (
"bytes"
"context"
"testing"
"time"
Expand Down Expand Up @@ -67,6 +68,36 @@ func setupSyncCommitteeDutiesMock(

s.validatorProvider.(*MockValidatorProvider).EXPECT().SelfParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().ParticipatingValidators(gomock.Any()).Return(activeShares).AnyTimes()
s.validatorProvider.(*MockValidatorProvider).EXPECT().Validator(gomock.Any()).DoAndReturn(
func(pubKey []byte) (*ssvtypes.SSVShare, bool) {
var ssvShare *ssvtypes.SSVShare
var minEpoch phase0.Epoch
dutiesMap.Range(func(period uint64, duties []*v1.SyncCommitteeDuty) bool {
for _, duty := range duties {
if bytes.Equal(duty.PubKey[:], pubKey) {
ssvShare = &ssvtypes.SSVShare{
Share: spectypes.Share{
ValidatorIndex: duty.ValidatorIndex,
},
}
firstEpoch := s.network.Beacon.FirstEpochOfSyncPeriod(period)
if firstEpoch < minEpoch {
minEpoch = firstEpoch
ssvShare.SetMinParticipationEpoch(firstEpoch)
}
return true
}
}
return true
})

if ssvShare != nil {
return ssvShare, true
}

return nil, false
},
).AnyTimes()

s.validatorController.(*MockValidatorController).EXPECT().AllActiveIndices(gomock.Any(), gomock.Any()).DoAndReturn(
func(epoch phase0.Epoch, afterInit bool) []phase0.ValidatorIndex {
Expand Down

0 comments on commit 26de334

Please sign in to comment.