Skip to content

Commit 2c6549b

Browse files
authored
Tests for beacon-chain/node/config.go (#8769)
* Tests for `beacon-chain/node/config.go` * gzl * change tested value of NetworkID
1 parent aba2ec9 commit 2c6549b

File tree

2 files changed

+98
-1
lines changed

2 files changed

+98
-1
lines changed

beacon-chain/node/BUILD.bazel

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,19 @@ go_library(
5757
go_test(
5858
name = "go_default_test",
5959
size = "small",
60-
srcs = ["node_test.go"],
60+
srcs = [
61+
"config_test.go",
62+
"node_test.go",
63+
],
6164
embed = [":go_default_library"],
6265
deps = [
6366
"//beacon-chain/core/feed/state:go_default_library",
67+
"//cmd/beacon-chain/flags:go_default_library",
6468
"//shared/cmd:go_default_library",
69+
"//shared/params:go_default_library",
70+
"//shared/testutil/assert:go_default_library",
6571
"//shared/testutil/require:go_default_library",
72+
"@com_github_prysmaticlabs_eth2_types//:go_default_library",
6673
"@com_github_sirupsen_logrus//hooks/test:go_default_library",
6774
"@com_github_urfave_cli_v2//:go_default_library",
6875
],

beacon-chain/node/config_test.go

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package node
2+
3+
import (
4+
"flag"
5+
"fmt"
6+
"strconv"
7+
"testing"
8+
9+
types "github.com/prysmaticlabs/eth2-types"
10+
"github.com/prysmaticlabs/prysm/cmd/beacon-chain/flags"
11+
"github.com/prysmaticlabs/prysm/shared/cmd"
12+
"github.com/prysmaticlabs/prysm/shared/params"
13+
"github.com/prysmaticlabs/prysm/shared/testutil/assert"
14+
"github.com/prysmaticlabs/prysm/shared/testutil/require"
15+
logTest "github.com/sirupsen/logrus/hooks/test"
16+
"github.com/urfave/cli/v2"
17+
)
18+
19+
func TestConfigureHistoricalSlasher(t *testing.T) {
20+
params.SetupTestConfigCleanup(t)
21+
hook := logTest.NewGlobal()
22+
23+
app := cli.App{}
24+
set := flag.NewFlagSet("test", 0)
25+
set.Bool(flags.HistoricalSlasherNode.Name, true, "")
26+
cliCtx := cli.NewContext(&app, set, nil)
27+
28+
configureHistoricalSlasher(cliCtx)
29+
30+
assert.Equal(t, params.BeaconConfig().SlotsPerEpoch*4, params.BeaconConfig().SlotsPerArchivedPoint)
31+
assert.LogsContain(t, hook,
32+
fmt.Sprintf(
33+
"Setting %d slots per archive point and %d max RPC page size for historical slasher usage",
34+
params.BeaconConfig().SlotsPerArchivedPoint,
35+
int(params.BeaconConfig().SlotsPerEpoch.Mul(params.BeaconConfig().MaxAttestations))),
36+
)
37+
}
38+
39+
func TestConfigureSlotsPerArchivedPoint(t *testing.T) {
40+
params.SetupTestConfigCleanup(t)
41+
42+
app := cli.App{}
43+
set := flag.NewFlagSet("test", 0)
44+
set.Int(flags.SlotsPerArchivedPoint.Name, 0, "")
45+
require.NoError(t, set.Set(flags.SlotsPerArchivedPoint.Name, strconv.Itoa(100)))
46+
cliCtx := cli.NewContext(&app, set, nil)
47+
48+
configureSlotsPerArchivedPoint(cliCtx)
49+
50+
assert.Equal(t, types.Slot(100), params.BeaconConfig().SlotsPerArchivedPoint)
51+
}
52+
53+
func TestConfigureProofOfWork(t *testing.T) {
54+
params.SetupTestConfigCleanup(t)
55+
56+
app := cli.App{}
57+
set := flag.NewFlagSet("test", 0)
58+
set.Uint64(flags.ChainID.Name, 0, "")
59+
set.Uint64(flags.NetworkID.Name, 0, "")
60+
set.String(flags.DepositContractFlag.Name, "", "")
61+
require.NoError(t, set.Set(flags.ChainID.Name, strconv.Itoa(100)))
62+
require.NoError(t, set.Set(flags.NetworkID.Name, strconv.Itoa(200)))
63+
require.NoError(t, set.Set(flags.DepositContractFlag.Name, "deposit"))
64+
cliCtx := cli.NewContext(&app, set, nil)
65+
66+
configureProofOfWork(cliCtx)
67+
68+
assert.Equal(t, uint64(100), params.BeaconConfig().DepositChainID)
69+
assert.Equal(t, uint64(200), params.BeaconConfig().DepositNetworkID)
70+
assert.Equal(t, "deposit", params.BeaconConfig().DepositContractAddress)
71+
}
72+
73+
func TestConfigureNetwork(t *testing.T) {
74+
params.SetupTestConfigCleanup(t)
75+
76+
app := cli.App{}
77+
set := flag.NewFlagSet("test", 0)
78+
bootstrapNodes := cli.StringSlice{}
79+
set.Var(&bootstrapNodes, cmd.BootstrapNode.Name, "")
80+
set.Int(flags.ContractDeploymentBlock.Name, 0, "")
81+
require.NoError(t, set.Set(cmd.BootstrapNode.Name, "node1"))
82+
require.NoError(t, set.Set(cmd.BootstrapNode.Name, "node2"))
83+
require.NoError(t, set.Set(flags.ContractDeploymentBlock.Name, strconv.Itoa(100)))
84+
cliCtx := cli.NewContext(&app, set, nil)
85+
86+
configureNetwork(cliCtx)
87+
88+
assert.DeepEqual(t, []string{"node1", "node2"}, params.BeaconNetworkConfig().BootstrapNodes)
89+
assert.Equal(t, uint64(100), params.BeaconNetworkConfig().ContractDeploymentBlock)
90+
}

0 commit comments

Comments
 (0)