prysm-pulse/validator/client/log_test.go
Raul Jordan 5aac06f04e
Move EthereumAPIs Into Prysm (#8968)
* begin move

* use same import path

* imports

* regen protos

* regen

* no rename

* generate ssz

* gaz

* fmt

* edit build file

* imports

* modify

* remove generated files

* remove protos

* edit imports in prysm

* beacon chain all builds

* edit script

* add generated pbs

* add replace rules

* license for ethereumapis protos

* change visibility

* fmt

* update build files to gaz ignore

* use proper form

* edit imports

* wrap block

* revert scripts

* revert go mod
2021-06-02 18:49:52 -05:00

76 lines
2.3 KiB
Go

package client
import (
"testing"
types "github.com/prysmaticlabs/eth2-types"
ethpb "github.com/prysmaticlabs/prysm/proto/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{
logDutyCountDown: true,
duties: &ethpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
{AttesterSlot: 100, ProposerSlots: []types.Slot{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{
logDutyCountDown: true,
duties: &ethpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
{AttesterSlot: 100, ProposerSlots: []types.Slot{105}},
{AttesterSlot: 110},
{AttesterSlot: 120},
}},
}
require.NoError(t, v.LogNextDutyTimeLeft(115))
require.LogsContain(t, hook, "\"Next duty\" attesting=1 currentSlot=115 dutySlot=120 prefix=validator proposing=0")
}
func TestLogNextDutyCountDown_HasDutyProposer(t *testing.T) {
hook := logTest.NewGlobal()
v := &validator{
logDutyCountDown: true,
duties: &ethpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
{AttesterSlot: 100, ProposerSlots: []types.Slot{105}},
{AttesterSlot: 110},
{AttesterSlot: 120},
}},
}
require.NoError(t, v.LogNextDutyTimeLeft(101))
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: &ethpb.DutiesResponse{CurrentEpochDuties: []*ethpb.DutiesResponse_Duty{
{AttesterSlot: 120},
{AttesterSlot: 110},
{AttesterSlot: 105},
{AttesterSlot: 105},
{AttesterSlot: 100, ProposerSlots: []types.Slot{105}},
}},
}
require.NoError(t, v.LogNextDutyTimeLeft(101))
require.LogsContain(t, hook, "\"Next duty\" attesting=2 currentSlot=101 dutySlot=105 prefix=validator proposing=1")
}
func TestLogNextDutyCountDown_NilDuty(t *testing.T) {
v := &validator{
logDutyCountDown: true,
}
require.NoError(t, v.LogNextDutyTimeLeft(101))
}