Skip to content

Commit 44d8d60

Browse files
committed
fix unit tests
1 parent 37ee626 commit 44d8d60

2 files changed

Lines changed: 92 additions & 28 deletions

File tree

block/internal/syncing/syncer_forced_inclusion_test.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,13 @@ func newForcedInclusionSyncer(t *testing.T, daStart, epochSize uint64) (*Syncer,
8181
fiRetriever := da.NewForcedInclusionRetriever(client, zerolog.Nop(), cfg.DA.BlockTime.Duration, false, gen.DAStartHeight, gen.DAEpochForcedInclusion)
8282
t.Cleanup(fiRetriever.Stop)
8383

84+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
85+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
86+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
87+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
8488
s := NewSyncer(
8589
st, mockExec, client, cm, common.NopMetrics(), cfg, gen,
86-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
87-
extmocks.NewMockStore[*types.P2PData](t),
90+
mockHeaderStore, mockDataStore,
8891
zerolog.Nop(), common.DefaultBlockOptions(), make(chan error, 1), nil,
8992
)
9093
s.daRetriever = daRetriever
@@ -156,10 +159,13 @@ func TestVerifyForcedInclusionTxs_NamespaceNotConfigured(t *testing.T) {
156159
fiRetriever := da.NewForcedInclusionRetriever(client, zerolog.Nop(), cfg.DA.BlockTime.Duration, false, gen.DAStartHeight, gen.DAEpochForcedInclusion)
157160
t.Cleanup(fiRetriever.Stop)
158161

162+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
163+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
164+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
165+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
159166
s := NewSyncer(
160167
st, mockExec, client, cm, common.NopMetrics(), cfg, gen,
161-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
162-
extmocks.NewMockStore[*types.P2PData](t),
168+
mockHeaderStore, mockDataStore,
163169
zerolog.Nop(), common.DefaultBlockOptions(), make(chan error, 1), nil,
164170
)
165171
if s.fiRetriever != nil {

block/internal/syncing/syncer_test.go

Lines changed: 82 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ func TestSyncer_validateBlock_DataHashMismatch(t *testing.T) {
124124
mockExec := testmocks.NewMockExecutor(t)
125125
mockExec.EXPECT().InitChain(mock.Anything, mock.Anything, uint64(1), "tchain").Return([]byte("app0"), nil).Once()
126126

127+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
128+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
129+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
130+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
131+
127132
s := NewSyncer(
128133
st,
129134
mockExec,
@@ -132,8 +137,8 @@ func TestSyncer_validateBlock_DataHashMismatch(t *testing.T) {
132137
common.NopMetrics(),
133138
cfg,
134139
gen,
135-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
136-
extmocks.NewMockStore[*types.P2PData](t),
140+
mockHeaderStore,
141+
mockDataStore,
137142
zerolog.Nop(),
138143
common.DefaultBlockOptions(),
139144
make(chan error, 1),
@@ -175,6 +180,11 @@ func TestProcessHeightEvent_SyncsAndUpdatesState(t *testing.T) {
175180
mockExec := testmocks.NewMockExecutor(t)
176181
mockExec.EXPECT().InitChain(mock.Anything, mock.Anything, uint64(1), "tchain").Return([]byte("app0"), nil).Once()
177182

183+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
184+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
185+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
186+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
187+
178188
errChan := make(chan error, 1)
179189
s := NewSyncer(
180190
st,
@@ -184,8 +194,8 @@ func TestProcessHeightEvent_SyncsAndUpdatesState(t *testing.T) {
184194
common.NopMetrics(),
185195
cfg,
186196
gen,
187-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
188-
extmocks.NewMockStore[*types.P2PData](t),
197+
mockHeaderStore,
198+
mockDataStore,
189199
zerolog.Nop(),
190200
common.DefaultBlockOptions(),
191201
errChan,
@@ -230,6 +240,11 @@ func TestSequentialBlockSync(t *testing.T) {
230240
mockExec := testmocks.NewMockExecutor(t)
231241
mockExec.EXPECT().InitChain(mock.Anything, mock.Anything, uint64(1), "tchain").Return([]byte("app0"), nil).Once()
232242

243+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
244+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
245+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
246+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
247+
233248
errChan := make(chan error, 1)
234249
s := NewSyncer(
235250
st,
@@ -239,13 +254,14 @@ func TestSequentialBlockSync(t *testing.T) {
239254
common.NopMetrics(),
240255
cfg,
241256
gen,
242-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
243-
extmocks.NewMockStore[*types.P2PData](t),
257+
mockHeaderStore,
258+
mockDataStore,
244259
zerolog.Nop(),
245260
common.DefaultBlockOptions(),
246261
errChan,
247262
nil,
248263
)
264+
249265
require.NoError(t, s.initializeState())
250266
s.ctx = t.Context()
251267

@@ -358,7 +374,9 @@ func TestSyncLoopPersistState(t *testing.T) {
358374
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
359375

360376
mockP2PHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
377+
mockP2PHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
361378
mockP2PDataStore := extmocks.NewMockStore[*types.P2PData](t)
379+
mockP2PDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
362380

363381
errorCh := make(chan error, 1)
364382
syncerInst1 := NewSyncer(
@@ -722,6 +740,11 @@ func TestProcessHeightEvent_TriggersAsyncDARetrieval(t *testing.T) {
722740
mockDAClient := testmocks.NewMockClient(t)
723741
mockDAClient.EXPECT().GetLatestDAHeight(mock.Anything).Return(uint64(200), nil).Maybe()
724742

743+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
744+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
745+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
746+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
747+
725748
s := NewSyncer(
726749
st,
727750
mockExec,
@@ -730,8 +753,8 @@ func TestProcessHeightEvent_TriggersAsyncDARetrieval(t *testing.T) {
730753
common.NopMetrics(),
731754
cfg,
732755
gen,
733-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
734-
extmocks.NewMockStore[*types.P2PData](t),
756+
mockHeaderStore,
757+
mockDataStore,
735758
zerolog.Nop(),
736759
common.DefaultBlockOptions(),
737760
make(chan error, 1),
@@ -788,6 +811,11 @@ func TestProcessHeightEvent_RejectsUnreasonableDAHint(t *testing.T) {
788811
mockDAClient := testmocks.NewMockClient(t)
789812
mockDAClient.EXPECT().GetLatestDAHeight(mock.Anything).Return(uint64(100), nil).Maybe()
790813

814+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
815+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
816+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
817+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
818+
791819
s := NewSyncer(
792820
st,
793821
mockExec,
@@ -796,8 +824,8 @@ func TestProcessHeightEvent_RejectsUnreasonableDAHint(t *testing.T) {
796824
common.NopMetrics(),
797825
cfg,
798826
gen,
799-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
800-
extmocks.NewMockStore[*types.P2PData](t),
827+
mockHeaderStore,
828+
mockDataStore,
801829
zerolog.Nop(),
802830
common.DefaultBlockOptions(),
803831
make(chan error, 1),
@@ -852,6 +880,11 @@ func TestProcessHeightEvent_AcceptsValidDAHint(t *testing.T) {
852880
mockDAClient := testmocks.NewMockClient(t)
853881
mockDAClient.EXPECT().GetLatestDAHeight(mock.Anything).Return(uint64(100), nil).Maybe()
854882

883+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
884+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
885+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
886+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
887+
855888
s := NewSyncer(
856889
st,
857890
mockExec,
@@ -860,8 +893,8 @@ func TestProcessHeightEvent_AcceptsValidDAHint(t *testing.T) {
860893
common.NopMetrics(),
861894
cfg,
862895
gen,
863-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
864-
extmocks.NewMockStore[*types.P2PData](t),
896+
mockHeaderStore,
897+
mockDataStore,
865898
zerolog.Nop(),
866899
common.DefaultBlockOptions(),
867900
make(chan error, 1),
@@ -917,6 +950,11 @@ func TestProcessHeightEvent_SkipsDAHintWhenAlreadyDAIncluded(t *testing.T) {
917950

918951
mockDAClient := testmocks.NewMockClient(t)
919952

953+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
954+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
955+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
956+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
957+
920958
s := NewSyncer(
921959
st,
922960
mockExec,
@@ -925,8 +963,8 @@ func TestProcessHeightEvent_SkipsDAHintWhenAlreadyDAIncluded(t *testing.T) {
925963
common.NopMetrics(),
926964
cfg,
927965
gen,
928-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
929-
extmocks.NewMockStore[*types.P2PData](t),
966+
mockHeaderStore,
967+
mockDataStore,
930968
zerolog.Nop(),
931969
common.DefaultBlockOptions(),
932970
make(chan error, 1),
@@ -1005,9 +1043,14 @@ func TestProcessHeightEvent_SkipsDAHintWhenBelowRetrieverCursor(t *testing.T) {
10051043
mockExec := testmocks.NewMockExecutor(t)
10061044
mockExec.EXPECT().InitChain(mock.Anything, mock.Anything, uint64(1), "tchain").Return([]byte("app0"), nil).Once()
10071045

1008-
// Mock DA client reports latest DA height above the hints we'll send
1046+
// Mock DA client reports latest DA height of 100
10091047
mockDAClient := testmocks.NewMockClient(t)
1010-
mockDAClient.EXPECT().GetLatestDAHeight(mock.Anything).Return(uint64(300), nil).Maybe()
1048+
mockDAClient.EXPECT().GetLatestDAHeight(mock.Anything).Return(uint64(100), nil).Maybe()
1049+
1050+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
1051+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
1052+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
1053+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
10111054

10121055
s := NewSyncer(
10131056
st,
@@ -1017,8 +1060,8 @@ func TestProcessHeightEvent_SkipsDAHintWhenBelowRetrieverCursor(t *testing.T) {
10171060
common.NopMetrics(),
10181061
cfg,
10191062
gen,
1020-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
1021-
extmocks.NewMockStore[*types.P2PData](t),
1063+
mockHeaderStore,
1064+
mockDataStore,
10221065
zerolog.Nop(),
10231066
common.DefaultBlockOptions(),
10241067
make(chan error, 1),
@@ -1104,6 +1147,11 @@ func TestProcessHeightEvent_ExecutionFailure_DoesNotReschedule(t *testing.T) {
11041147
mockExec.EXPECT().ExecuteTxs(mock.Anything, mock.Anything, uint64(1), mock.Anything, mock.Anything).
11051148
Return([]byte(nil), errors.New("connection refused")).Times(common.MaxRetriesBeforeHalt)
11061149

1150+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
1151+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
1152+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
1153+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
1154+
11071155
errChan := make(chan error, 1)
11081156
s := NewSyncer(
11091157
st,
@@ -1113,8 +1161,8 @@ func TestProcessHeightEvent_ExecutionFailure_DoesNotReschedule(t *testing.T) {
11131161
common.NopMetrics(),
11141162
cfg,
11151163
gen,
1116-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
1117-
extmocks.NewMockStore[*types.P2PData](t),
1164+
mockHeaderStore,
1165+
mockDataStore,
11181166
zerolog.Nop(),
11191167
common.DefaultBlockOptions(),
11201168
errChan,
@@ -1166,6 +1214,11 @@ func TestSyncer_Stop_SkipsDrainOnCriticalError(t *testing.T) {
11661214
mockExec := testmocks.NewMockExecutor(t)
11671215
mockExec.EXPECT().InitChain(mock.Anything, mock.Anything, uint64(1), "tchain").Return([]byte("app0"), nil).Once()
11681216

1217+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
1218+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
1219+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
1220+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
1221+
11691222
errChan := make(chan error, 1)
11701223
s := NewSyncer(
11711224
st,
@@ -1175,8 +1228,8 @@ func TestSyncer_Stop_SkipsDrainOnCriticalError(t *testing.T) {
11751228
common.NopMetrics(),
11761229
cfg,
11771230
gen,
1178-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
1179-
extmocks.NewMockStore[*types.P2PData](t),
1231+
mockHeaderStore,
1232+
mockDataStore,
11801233
zerolog.Nop(),
11811234
common.DefaultBlockOptions(),
11821235
errChan,
@@ -1241,6 +1294,11 @@ func TestSyncer_Stop_DrainWorksWithoutCriticalError(t *testing.T) {
12411294
mockExec.EXPECT().ExecuteTxs(mock.Anything, mock.Anything, uint64(1), mock.Anything, mock.Anything).
12421295
Return([]byte("app1"), nil).Once()
12431296

1297+
mockHeaderStore := extmocks.NewMockStore[*types.P2PSignedHeader](t)
1298+
mockHeaderStore.EXPECT().Height().Return(uint64(0)).Maybe()
1299+
mockDataStore := extmocks.NewMockStore[*types.P2PData](t)
1300+
mockDataStore.EXPECT().Height().Return(uint64(0)).Maybe()
1301+
12441302
errChan := make(chan error, 1)
12451303
s := NewSyncer(
12461304
st,
@@ -1250,8 +1308,8 @@ func TestSyncer_Stop_DrainWorksWithoutCriticalError(t *testing.T) {
12501308
common.NopMetrics(),
12511309
cfg,
12521310
gen,
1253-
extmocks.NewMockStore[*types.P2PSignedHeader](t),
1254-
extmocks.NewMockStore[*types.P2PData](t),
1311+
mockHeaderStore,
1312+
mockDataStore,
12551313
zerolog.Nop(),
12561314
common.DefaultBlockOptions(),
12571315
errChan,

0 commit comments

Comments
 (0)