2020-12-10 18:56:18 +00:00
|
|
|
package client
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
ethpb "github.com/prysmaticlabs/ethereumapis/eth/v1alpha1"
|
|
|
|
"github.com/prysmaticlabs/prysm/shared/testutil/require"
|
|
|
|
logTest "github.com/sirupsen/logrus/hooks/test"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestLogNextDutyCountDown_NoDuty(t *testing.T) {
|
|
|
|
hook := logTest.NewGlobal()
|
|
|
|
v := &validator{
|
2020-12-18 21:12:57 +00:00
|
|
|
logDutyCountDown: true,
|
2020-12-10 18:56:18 +00:00
|
|
|
duties: ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
|
|
|
|
{AttesterSlot: 100, ProposerSlots: []uint64{105}},
|
|
|
|
{AttesterSlot: 110},
|
|
|
|
{AttesterSlot: 120},
|
|
|
|
}},
|
|
|
|
}
|
|
|
|
require.NoError(t, v.LogNextDutyTimeLeft(121))
|
|
|
|
require.LogsContain(t, hook, "No duty until next epoch")
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestLogNextDutyCountDown_HasDutyAttester(t *testing.T) {
|
|
|
|
hook := logTest.NewGlobal()
|
|
|
|
v := &validator{
|
2020-12-18 21:12:57 +00:00
|
|
|
logDutyCountDown: true,
|
2020-12-10 18:56:18 +00:00
|
|
|
duties: ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
|
|
|
|
{AttesterSlot: 100, ProposerSlots: []uint64{105}},
|
|
|
|
{AttesterSlot: 110},
|
|
|
|
{AttesterSlot: 120},
|
|
|
|
}},
|
|
|
|
}
|
|
|
|
require.NoError(t, v.LogNextDutyTimeLeft(115))
|
2021-01-07 10:22:38 +00:00
|
|
|
require.LogsContain(t, hook, "\"Next duty\" attesting=1 currentSlot=115 dutySlot=120 prefix=validator proposing=0")
|
2020-12-10 18:56:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestLogNextDutyCountDown_HasDutyProposer(t *testing.T) {
|
|
|
|
hook := logTest.NewGlobal()
|
|
|
|
v := &validator{
|
2020-12-18 21:12:57 +00:00
|
|
|
logDutyCountDown: true,
|
2020-12-10 18:56:18 +00:00
|
|
|
duties: ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
|
|
|
|
{AttesterSlot: 100, ProposerSlots: []uint64{105}},
|
|
|
|
{AttesterSlot: 110},
|
|
|
|
{AttesterSlot: 120},
|
|
|
|
}},
|
|
|
|
}
|
|
|
|
require.NoError(t, v.LogNextDutyTimeLeft(101))
|
2021-01-07 10:22:38 +00:00
|
|
|
require.LogsContain(t, hook, "\"Next duty\" attesting=0 currentSlot=101 dutySlot=105 prefix=validator proposing=1")
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestLogNextDutyCountDown_HasMultipleDuties(t *testing.T) {
|
|
|
|
hook := logTest.NewGlobal()
|
|
|
|
v := &validator{
|
|
|
|
logDutyCountDown: true,
|
|
|
|
duties: ðpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
|
|
|
|
{AttesterSlot: 120},
|
|
|
|
{AttesterSlot: 110},
|
|
|
|
{AttesterSlot: 105},
|
|
|
|
{AttesterSlot: 105},
|
|
|
|
{AttesterSlot: 100, ProposerSlots: []uint64{105}},
|
|
|
|
}},
|
|
|
|
}
|
|
|
|
require.NoError(t, v.LogNextDutyTimeLeft(101))
|
|
|
|
require.LogsContain(t, hook, "\"Next duty\" attesting=2 currentSlot=101 dutySlot=105 prefix=validator proposing=1")
|
2020-12-10 18:56:18 +00:00
|
|
|
}
|
2021-01-04 17:28:00 +00:00
|
|
|
|
|
|
|
func TestLogNextDutyCountDown_NilDuty(t *testing.T) {
|
|
|
|
v := &validator{
|
|
|
|
logDutyCountDown: true,
|
|
|
|
}
|
|
|
|
require.NoError(t, v.LogNextDutyTimeLeft(101))
|
|
|
|
}
|