Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(dot): transform telemetry into an injectable interface #2113

Merged
merged 171 commits into from
Jan 13, 2022
Merged
Show file tree
Hide file tree
Changes from 153 commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
d05e39e
fix: remove race conditions on dot/network
EclesioMeloJunior Dec 6, 2021
0611f92
chore: use available ports queue and update all test to call t.Parall…
EclesioMeloJunior Dec 6, 2021
1e03e39
chore: resolve data races on dot/network
EclesioMeloJunior Dec 7, 2021
1009d6c
chore: add locks to global logger New
EclesioMeloJunior Dec 7, 2021
dd4f9c7
chore: resolve data race with stop channel to peerset
EclesioMeloJunior Dec 7, 2021
f6d51f0
chore: data race at peerstate nodes
EclesioMeloJunior Dec 7, 2021
589c4a9
chore: data race on cfg.SlotDuration
EclesioMeloJunior Dec 7, 2021
5d208f8
feat: proposal to remove singleton instance
EclesioMeloJunior Dec 7, 2021
615ab92
chore: remove log file
EclesioMeloJunior Dec 7, 2021
04b417a
chore: remove unused comment
EclesioMeloJunior Dec 7, 2021
309e801
chore: include liicense
EclesioMeloJunior Dec 9, 2021
a760405
chore: remove debug log lvl
EclesioMeloJunior Dec 9, 2021
9fa0bf0
chore: remove test log
EclesioMeloJunior Dec 9, 2021
034c4db
Merge branch 'eclesio/net-race-conditions' of github.com:ChainSafe/go…
EclesioMeloJunior Dec 9, 2021
b4ee352
Merge branch 'development' into eclesio/net-race-conditions
EclesioMeloJunior Dec 9, 2021
4ce0425
Merge branch 'eclesio/net-race-conditions' into eclesio/telemetry-rac…
EclesioMeloJunior Dec 9, 2021
897074c
chore: remove default values from pkg lvl
EclesioMeloJunior Dec 9, 2021
8220fc6
chore: rename to messageQueue
EclesioMeloJunior Dec 9, 2021
5c4bf74
chore: rename to logger
EclesioMeloJunior Dec 9, 2021
264d7d3
chore: dep inject logger
EclesioMeloJunior Dec 9, 2021
185c418
chore: use timer instead of sleep
EclesioMeloJunior Dec 9, 2021
d75a093
chore: use mailer as var name
EclesioMeloJunior Dec 9, 2021
e5d7d1b
chore: improve debug error message
EclesioMeloJunior Dec 9, 2021
1991de8
chore: BootstrapMailer returns error
EclesioMeloJunior Dec 9, 2021
55c39e7
chore: rename timer and check stop
EclesioMeloJunior Dec 9, 2021
c03e2e9
chore: define goroutine in another function
EclesioMeloJunior Dec 9, 2021
b617221
chore: remove msgToJson and create a struct to marshal
EclesioMeloJunior Dec 9, 2021
e677fa5
chore: adjust test
EclesioMeloJunior Dec 9, 2021
a790b66
chore: remove commented llines
EclesioMeloJunior Dec 9, 2021
6515250
chore: parallelize mailer tests
EclesioMeloJunior Dec 9, 2021
bd32c50
chore: remove telemetryMessage struct
EclesioMeloJunior Dec 9, 2021
425ff39
chore: remove defer stop
EclesioMeloJunior Dec 9, 2021
9101330
chore: local consts > all
EclesioMeloJunior Dec 9, 2021
065a799
chore: make error better explained
EclesioMeloJunior Dec 9, 2021
d5ed7fb
chore: improve error on node.go
EclesioMeloJunior Dec 9, 2021
99341e6
chore: use global logger
EclesioMeloJunior Dec 9, 2021
78feee0
chore: remove unneeded test
EclesioMeloJunior Dec 10, 2021
858488b
chore: fix failing test
EclesioMeloJunior Dec 10, 2021
81e2eeb
chore: resolve lint warns
EclesioMeloJunior Dec 10, 2021
c358d6a
chore: update blockstate mock to gomock
EclesioMeloJunior Dec 13, 2021
f763aa8
chore: update tests to use availablePort2Test test function
EclesioMeloJunior Dec 13, 2021
e480ee1
chore: remove mockery from network
EclesioMeloJunior Dec 13, 2021
1e78d99
chore: remove unneeded comment
EclesioMeloJunior Dec 13, 2021
fb6e6f3
chore: remove unneeded name change
EclesioMeloJunior Dec 13, 2021
3c0b642
chore: disable telemetry on tests by default
EclesioMeloJunior Dec 13, 2021
b623b62
remove empty line
EclesioMeloJunior Dec 14, 2021
2997da0
remove empty line
EclesioMeloJunior Dec 14, 2021
4a9d410
chore: use AssignableToTypeOf
EclesioMeloJunior Dec 14, 2021
175d439
chore: remove package alias
EclesioMeloJunior Dec 14, 2021
bb4f710
chore: remove unneeded mocks
EclesioMeloJunior Dec 14, 2021
7ccbbda
chore: rename th to transactionHandler
EclesioMeloJunior Dec 14, 2021
f2d31e4
chore: fix pkg alias
EclesioMeloJunior Dec 14, 2021
0a3b51b
chore: remove uint32 and remove nil assignments
EclesioMeloJunior Dec 14, 2021
201a43d
Merge branch 'eclesio/remove-mockery-network' of github.com:ChainSafe…
EclesioMeloJunior Dec 14, 2021
bf7d4d1
chore: disable telemetry from tests
EclesioMeloJunior Dec 14, 2021
bcf7fe8
chore: remove empty line
EclesioMeloJunior Dec 20, 2021
309393d
chore: resolve unit test errors by inject telemetry into grandpa service
EclesioMeloJunior Dec 21, 2021
0268d2d
chore: change to inject telemetry to services
EclesioMeloJunior Dec 22, 2021
86cc2ca
chore: remove unused function and fix lll
EclesioMeloJunior Dec 22, 2021
4e56cd8
chore: update unit tests
EclesioMeloJunior Dec 22, 2021
3ee5a2f
chore: update InitNode function to setup telemetry without genesis data
EclesioMeloJunior Dec 22, 2021
ac73263
chore: fix unit tests on pkg dot
EclesioMeloJunior Dec 23, 2021
553b501
chore: remove insufficient connections check
EclesioMeloJunior Dec 27, 2021
df1819e
chore: add telemetry mock to babe unit tests
EclesioMeloJunior Dec 27, 2021
65f0dd4
chore: add telemetry to verification manager test
EclesioMeloJunior Dec 27, 2021
efbb306
chore: fix lint warns at telemetry mailer.go
EclesioMeloJunior Dec 27, 2021
a815a82
chore: remove each telemetry interface and put inside telemetry pkg
EclesioMeloJunior Dec 28, 2021
2d01225
chore: add exported type comment
EclesioMeloJunior Dec 28, 2021
2fff2b1
chore: reorder state service creation and initialization
EclesioMeloJunior Dec 28, 2021
ca1019b
chore: adjust unit test
EclesioMeloJunior Dec 28, 2021
90bc55b
chore: resolve problems at grandpa
EclesioMeloJunior Dec 29, 2021
9ff8297
chore: fix mock with AnyTimes() function
EclesioMeloJunior Jan 3, 2022
4525ead
chore: resolve nil pointer exception at grandpa
EclesioMeloJunior Jan 3, 2022
38a6888
chore: add `state.SetupBase` before `state.Start`
EclesioMeloJunior Jan 3, 2022
c32fd4f
chore: inject telemetry mock at network service tests
EclesioMeloJunior Jan 3, 2022
4231956
chore: add `startStateService()` and `SetupBase()` to unit tests
EclesioMeloJunior Jan 4, 2022
9f60234
chore: adjust the mailer to create a channel instead of use a global one
EclesioMeloJunior Jan 5, 2022
752f360
chore: update comment at `createStateService`
EclesioMeloJunior Jan 5, 2022
5d4c83b
chore: change `telemetry.Telemetry` to `telemetry.Client`
EclesioMeloJunior Jan 5, 2022
033c8d4
chore: allocate blockRequestSize at service_test.go
EclesioMeloJunior Jan 5, 2022
2be6e26
chore: improve error message at dot/node.go
EclesioMeloJunior Jan 5, 2022
a1454b5
chore: add named returns
EclesioMeloJunior Jan 5, 2022
872f094
Merge branch 'development' into eclesio/remove-mockery-network
EclesioMeloJunior Jan 5, 2022
9551699
chore: remove log file
EclesioMeloJunior Jan 5, 2022
6bcad2d
Merge branch 'development' into eclesio/telemetry-race-conditions
EclesioMeloJunior Jan 5, 2022
9bbc83b
Merge branch 'development' into eclesio/net-race-conditions
EclesioMeloJunior Jan 5, 2022
c719eb9
Merge branch 'eclesio/net-race-conditions' into eclesio/telemetry-rac…
EclesioMeloJunior Jan 5, 2022
e503dbe
Merge branch 'eclesio/telemetry-race-conditions' into eclesio/remove-…
EclesioMeloJunior Jan 5, 2022
b0dcb2a
chore: remove unneeded conditions while creating core test service
EclesioMeloJunior Jan 5, 2022
48e0bf0
chore: rename `require.Nil` to `require.NoError`
EclesioMeloJunior Jan 5, 2022
0365cd6
chore: increase the log.lvl to avoid spamming
EclesioMeloJunior Jan 5, 2022
23c2565
chore: set a precise num of times a mocked function should be called
EclesioMeloJunior Jan 5, 2022
0f311f1
chore: expect concrete argument instead of `gomock.Any()`
EclesioMeloJunior Jan 5, 2022
c0b4bdf
chore: remove pointer at `pipeRequestToChannel()`
EclesioMeloJunior Jan 5, 2022
7973e29
chore: telemetry bootstrap mailer should not fail at build from db fu…
EclesioMeloJunior Jan 5, 2022
d0984c6
chore: wrap errors at build_spec.go
EclesioMeloJunior Jan 5, 2022
9d1b280
chore: remove gomock package alias
EclesioMeloJunior Jan 5, 2022
aeda68e
chore: fix exported type comment
EclesioMeloJunior Jan 5, 2022
2fdcc80
chore: assert using the available port instead of a fixed one
EclesioMeloJunior Jan 5, 2022
6a15d9a
chore: add `*.log` files to gitignore
EclesioMeloJunior Jan 6, 2022
a3ff92d
chore: increase the telemetryInterval at handle tx message unit test
EclesioMeloJunior Jan 6, 2022
894e218
Merge branch 'development' into eclesio/net-race-conditions
EclesioMeloJunior Jan 6, 2022
61a835c
Merge branch 'eclesio/net-race-conditions' into eclesio/telemetry-rac…
EclesioMeloJunior Jan 6, 2022
5913d9f
Merge branch 'eclesio/telemetry-race-conditions' into eclesio/remove-…
EclesioMeloJunior Jan 6, 2022
1459f29
chore: remove unneeded `MaxTimes(1)`
EclesioMeloJunior Jan 6, 2022
643d114
chore: remove formating and improve comment
EclesioMeloJunior Jan 6, 2022
84dd66a
chore: fix typo
EclesioMeloJunior Jan 6, 2022
fe82c79
chore: remove new line
EclesioMeloJunior Jan 6, 2022
aa21835
chore: remove unneeded pkg alias
EclesioMeloJunior Jan 6, 2022
11d9972
chore: move network mockgen to _test.go file
EclesioMeloJunior Jan 6, 2022
c2dbb00
Merge branch 'eclesio/remove-mockery-network' of github.com:ChainSafe…
EclesioMeloJunior Jan 6, 2022
e93a408
chore: meganit
EclesioMeloJunior Jan 6, 2022
83e8499
chore: fix the mockgen
EclesioMeloJunior Jan 6, 2022
1435447
Merge branch 'eclesio/remove-mockery-network' of github.com:ChainSafe…
EclesioMeloJunior Jan 6, 2022
6c52864
chore: add error wrap to load genesis at new node
EclesioMeloJunior Jan 6, 2022
1ea6d31
chore: replace `FormatInt` to `fmt.Sprint`
EclesioMeloJunior Jan 6, 2022
8dc1d05
Merge branch 'development' into eclesio/net-race-conditions
EclesioMeloJunior Jan 6, 2022
970e60a
Merge branch 'eclesio/net-race-conditions' into eclesio/telemetry-rac…
EclesioMeloJunior Jan 6, 2022
7eb5d02
Merge branch 'eclesio/telemetry-race-conditions' into eclesio/remove-…
EclesioMeloJunior Jan 6, 2022
17d0af8
chore: change test to use mock instead of real implementation
EclesioMeloJunior Jan 6, 2022
f58f871
chore: remove unneeded comment
EclesioMeloJunior Jan 6, 2022
a92f21c
chore: change log lvl at test
EclesioMeloJunior Jan 6, 2022
453e31d
chore: add error wrappers
EclesioMeloJunior Jan 7, 2022
558812b
chore: remove gomock pkg alias
EclesioMeloJunior Jan 7, 2022
4d51f61
chore: improve the gomock assertion
EclesioMeloJunior Jan 7, 2022
cf7e5fb
chore: decrease the sleep time on test
EclesioMeloJunior Jan 7, 2022
7df6dd3
chore: improve telemetry.Client comment
EclesioMeloJunior Jan 7, 2022
fc35ce3
chore: remove all gomock pkg alias
EclesioMeloJunior Jan 7, 2022
a245859
chore: generating the telemetry mock file locally
EclesioMeloJunior Jan 7, 2022
91d53fc
chore: remove the message channel and use a mutex
EclesioMeloJunior Jan 7, 2022
640ec73
chore: address comments at mailer_test.go
EclesioMeloJunior Jan 7, 2022
1b27378
chore: new lines after go:generate
EclesioMeloJunior Jan 7, 2022
a2f1802
chore: asserting result channel messages
EclesioMeloJunior Jan 7, 2022
37df30d
chore: put assertions inside handlers instead of keep a channel
EclesioMeloJunior Jan 7, 2022
ee15fe0
chore: improve telemetry.Client comment
EclesioMeloJunior Jan 7, 2022
8b6398d
chore: replace `source` by github.com/ChainSafe/gossamer/dot/telemetry
EclesioMeloJunior Jan 7, 2022
2966249
chore: use context.TODO
EclesioMeloJunior Jan 7, 2022
7178f89
chore: remove all .MaxTimes(1)
EclesioMeloJunior Jan 7, 2022
2aef51e
chore: assign function calls to variables to improve readability
EclesioMeloJunior Jan 7, 2022
91600b5
chore: use context.TODO
EclesioMeloJunior Jan 7, 2022
8a28a04
chore: remove `SetTelemetry`
EclesioMeloJunior Jan 7, 2022
d215547
chore: improve mailer_test.go tests
EclesioMeloJunior Jan 7, 2022
c8fc2d0
chore: rename `newTestBlockResponseMessage` test helper fun
EclesioMeloJunior Jan 7, 2022
c318f04
chore: use `common.Hash{}` instead of random hex values
EclesioMeloJunior Jan 7, 2022
1762495
chore: rename `newTestMailer`
EclesioMeloJunior Jan 7, 2022
98dd277
chore: use a more expecific expected argument at mocked telemetry
EclesioMeloJunior Jan 7, 2022
9694601
chore: re-implementing the available port queue
EclesioMeloJunior Jan 10, 2022
a9e8b29
chore: remove unneeded fmt.Println
EclesioMeloJunior Jan 10, 2022
29db6de
chore: add context to handler.Start
EclesioMeloJunior Jan 10, 2022
6dcbca6
chore: change mutex to a value variable
EclesioMeloJunior Jan 10, 2022
2abbd7b
chore: update peerstate interface
EclesioMeloJunior Jan 10, 2022
1f644c4
chore: fix mockgen with PeerStateHandler
EclesioMeloJunior Jan 10, 2022
89c234c
Merge branch 'development' into eclesio/remove-mockery-network
EclesioMeloJunior Jan 10, 2022
a1b50d6
chore: make portQueue a blocking queue
EclesioMeloJunior Jan 10, 2022
a0d6747
chore: use const instead of var
EclesioMeloJunior Jan 10, 2022
a7910c2
chore: rename `actionQueue` and use `context.Background()` by default
EclesioMeloJunior Jan 10, 2022
6ab82cf
chore: add named returns
EclesioMeloJunior Jan 10, 2022
e5b4687
chore: use `sync.Mutex` default value
EclesioMeloJunior Jan 10, 2022
e8bc285
chore: implement `MarshalJSON` for each telemetry message
EclesioMeloJunior Jan 12, 2022
a6657aa
chore: removing the TM prefix and ignore the MarhsalJSON export comme…
EclesioMeloJunior Jan 12, 2022
87de685
Merge branch 'development' into eclesio/remove-mockery-network
EclesioMeloJunior Jan 12, 2022
85d2a24
chore: fix state storage test
EclesioMeloJunior Jan 12, 2022
1de011f
chore: fix all telemtry tests
EclesioMeloJunior Jan 13, 2022
be7d985
chore: fix lll lint warn
EclesioMeloJunior Jan 13, 2022
5849d0c
chore: export and rename `messageType` interface method to `Type`
EclesioMeloJunior Jan 13, 2022
af3d2f5
chore: remove Type method since it just returns a constant
EclesioMeloJunior Jan 13, 2022
006dcfb
Merge branch 'development' into eclesio/remove-mockery-network
EclesioMeloJunior Jan 13, 2022
be16deb
chore: fix the regex to use `[+-]` in timezone assert
EclesioMeloJunior Jan 13, 2022
3b05fa2
chore: logging telemetry test messages
EclesioMeloJunior Jan 13, 2022
6a3fcaf
chore: fix timestamp regex assertion
EclesioMeloJunior Jan 13, 2022
c329a03
chore: fix `TestListenerConcurrency` telemetry test
EclesioMeloJunior Jan 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

# Output of go coverage tool when used with LiteIDE
*.out
*.log

/bin

Expand Down
32 changes: 22 additions & 10 deletions dot/build_spec.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
package dot

import (
"context"
"encoding/json"
"fmt"
"os"
"path/filepath"

"github.com/ChainSafe/gossamer/dot/state"
"github.com/ChainSafe/gossamer/dot/telemetry"
"github.com/ChainSafe/gossamer/internal/log"
"github.com/ChainSafe/gossamer/lib/common"
"github.com/ChainSafe/gossamer/lib/genesis"
Expand Down Expand Up @@ -94,33 +96,43 @@ func BuildFromDB(path string) (*BuildSpec, error) {
tmpGen.Genesis.Raw = make(map[string]map[string]string)
tmpGen.Genesis.Runtime = make(map[string]map[string]interface{})

// BootstrapMailer should not return an error here since there is no URLs to connect to
disabledTelemetry, err := telemetry.BootstrapMailer(context.TODO(), nil, false, nil)
if err != nil {
panic("telemetry should not fail at BuildFromDB function: " + err.Error())
}

config := state.Config{
Path: path,
LogLevel: log.Info,
Path: path,
LogLevel: log.Info,
Telemetry: disabledTelemetry,
}

stateSrvc := state.NewService(config)

// start state service (initialise state database)
err := stateSrvc.Start()
err = stateSrvc.SetupBase()
if err != nil {
return nil, err
return nil, fmt.Errorf("cannot setup state database: %w", err)
}

// start state service (initialise state database)
err = stateSrvc.Start()
if err != nil {
return nil, fmt.Errorf("cannot start state service: %w", err)
}
// set genesis fields data
ent, err := stateSrvc.Storage.Entries(nil)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to get storage trie entries: %w", err)
}

err = genesis.BuildFromMap(ent, tmpGen)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to build from map: %w", err)
}

// set genesisData
gd, err := stateSrvc.DB().Get(common.GenesisDataKey)
if err != nil {
return nil, err
return nil, fmt.Errorf("failed to retrieve genesis data: %w", err)
}
gData := &genesis.Data{}
err = json.Unmarshal(gd, gData)
Expand Down
11 changes: 9 additions & 2 deletions dot/core/test_helpers.go → dot/core/helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
rtstorage "github.com/ChainSafe/gossamer/lib/runtime/storage"
"github.com/ChainSafe/gossamer/lib/runtime/wasmer"
"github.com/ChainSafe/gossamer/lib/utils"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
)
Expand Down Expand Up @@ -51,10 +52,16 @@ func NewTestService(t *testing.T, cfg *Config) *Service {
if cfg.BlockState == nil || cfg.StorageState == nil ||
cfg.TransactionState == nil || cfg.EpochState == nil ||
cfg.CodeSubstitutedState == nil {
ctrl := gomock.NewController(t)
telemetryMock := NewMockClient(ctrl)
telemetryMock.EXPECT().SendMessage(gomock.Any()).AnyTimes()

config := state.Config{
Path: testDatadirPath,
LogLevel: log.Info,
Path: testDatadirPath,
LogLevel: log.Info,
Telemetry: telemetryMock,
}

stateSrvc = state.NewService(config)
stateSrvc.UseMemDB()

Expand Down
7 changes: 6 additions & 1 deletion dot/core/messages_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (

"github.com/centrifuge/go-substrate-rpc-client/v3/signature"
ctypes "github.com/centrifuge/go-substrate-rpc-client/v3/types"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/require"

"github.com/ChainSafe/gossamer/dot/core/mocks"
Expand Down Expand Up @@ -124,9 +125,13 @@ func TestService_HandleTransactionMessage(t *testing.T) {
ks := keystore.NewGlobalKeystore()
ks.Acco.Insert(kp)

ctrl := gomock.NewController(t)
telemetryMock := NewMockClient(ctrl)
telemetryMock.EXPECT().SendMessage(gomock.Any()).AnyTimes()

cfg := &Config{
Keystore: ks,
TransactionState: state.NewTransactionState(),
TransactionState: state.NewTransactionState(telemetryMock),
}

s := NewTestService(t, cfg)
Expand Down
47 changes: 47 additions & 0 deletions dot/core/mock_telemetry_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 13 additions & 2 deletions dot/core/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,13 @@ import (
"github.com/ChainSafe/gossamer/lib/transaction"
"github.com/ChainSafe/gossamer/lib/trie"
"github.com/ChainSafe/gossamer/pkg/scale"
"github.com/golang/mock/gomock"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
)

//go:generate mockgen -destination=mock_telemetry_test.go -package $GOPACKAGE github.com/ChainSafe/gossamer/dot/telemetry Client

func TestMain(m *testing.M) {
wasmFilePaths, err := runtime.GenerateRuntimeWasmFile()
if err != nil {
Expand Down Expand Up @@ -379,7 +382,11 @@ func TestMaintainTransactionPool_EmptyBlock(t *testing.T) {
},
}

ts := state.NewTransactionState()
ctrl := gomock.NewController(t)
telemetryMock := NewMockClient(ctrl)
telemetryMock.EXPECT().SendMessage(gomock.Any()).AnyTimes()

ts := state.NewTransactionState(telemetryMock)
hashes := make([]common.Hash, len(txs))

for i, tx := range txs {
Expand Down Expand Up @@ -424,7 +431,11 @@ func TestMaintainTransactionPool_BlockWithExtrinsics(t *testing.T) {
},
}

ts := state.NewTransactionState()
ctrl := gomock.NewController(t)
telemetryMock := NewMockClient(ctrl)
telemetryMock.EXPECT().SendMessage(gomock.Any()).AnyTimes()

ts := state.NewTransactionState(telemetryMock)
hashes := make([]common.Hash, len(txs))

for i, tx := range txs {
Expand Down
15 changes: 13 additions & 2 deletions dot/digest/digest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,24 @@ import (
"github.com/ChainSafe/gossamer/lib/genesis"
"github.com/ChainSafe/gossamer/lib/keystore"
"github.com/ChainSafe/gossamer/pkg/scale"
"github.com/golang/mock/gomock"

"github.com/stretchr/testify/require"
)

//go:generate mockgen -destination=mock_telemetry_test.go -package $GOPACKAGE github.com/ChainSafe/gossamer/dot/telemetry Client

func newTestHandler(t *testing.T) *Handler {
testDatadirPath := t.TempDir()

ctrl := gomock.NewController(t)
telemetryMock := NewMockClient(ctrl)
telemetryMock.EXPECT().SendMessage(gomock.Any()).AnyTimes()

config := state.Config{
Path: testDatadirPath,
LogLevel: log.Info,
Path: testDatadirPath,
LogLevel: log.Info,
Telemetry: telemetryMock,
}
stateSrvc := state.NewService(config)
stateSrvc.UseMemDB()
Expand All @@ -35,6 +43,9 @@ func newTestHandler(t *testing.T) *Handler {
err := stateSrvc.Initialise(gen, genHeader, genTrie)
require.NoError(t, err)

err = stateSrvc.SetupBase()
require.NoError(t, err)

err = stateSrvc.Start()
require.NoError(t, err)

Expand Down
47 changes: 47 additions & 0 deletions dot/digest/mock_telemetry_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

47 changes: 47 additions & 0 deletions dot/mock_telemetry_test.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading