@@ -20,12 +20,9 @@ func setupTestData(ctx context.Context, t *testing.T, dbpool *pgxpool.Pool, bloc
2020 db := database .New (dbpool )
2121 keyperdb := keyperDB .New (dbpool )
2222
23- // Set up batch config with Started flag
24- err := keyperdb .InsertBatchConfig (ctx , keyperDB.InsertBatchConfigParams {
25- KeyperConfigIndex : 1 ,
26- Keypers : []string {},
27- Height : 50 ,
28- Started : true ,
23+ // Set up eon
24+ err := keyperdb .InsertEon (ctx , keyperDB.InsertEonParams {
25+ Eon : 1 ,
2926 })
3027 assert .NilError (t , err )
3128
@@ -124,26 +121,26 @@ func TestAPISyncMonitor_HandlesBlockNumberIncreasing(t *testing.T) {
124121 assert .Equal (t , initialBlockNumber + 5 , syncedData .BlockNumber , "block number should have been incremented correctly" )
125122}
126123
127- func TestAPISyncMonitor_ContinuesWhenNoRows (t * testing.T ) {
124+ func TestAPISyncMonitor_SkipsWhenDKGIsRunning (t * testing.T ) {
128125 ctx , cancel := context .WithCancel (context .Background ())
129126 defer cancel ()
130127
131128 dbpool , closeDB := testsetup .NewTestDBPool (ctx , t , database .Definition )
132129 defer closeDB ()
133-
134- // Only set up keyper set and DKG result, but no block data
130+ db := database .New (dbpool )
135131 keyperdb := keyperDB .New (dbpool )
136132
137- err := keyperdb .InsertBatchConfig (ctx , keyperDB.InsertBatchConfigParams {
138- KeyperConfigIndex : 1 ,
139- Keypers : []string {},
140- Started : true ,
133+ // Set up eon but no DKG result to simulate DKG running
134+ err := keyperdb .InsertEon (ctx , keyperDB.InsertEonParams {
135+ Eon : 1 ,
141136 })
142137 assert .NilError (t , err )
143138
144- err = keyperdb .InsertDKGResult (ctx , keyperDB.InsertDKGResultParams {
145- Eon : 1 ,
146- Success : true ,
139+ // Set up initial block data
140+ initialBlockNumber := int64 (100 )
141+ err = db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
142+ BlockHash : []byte {0x01 , 0x02 , 0x03 },
143+ BlockNumber : initialBlockNumber ,
147144 })
148145 assert .NilError (t , err )
149146
@@ -163,37 +160,34 @@ func TestAPISyncMonitor_ContinuesWhenNoRows(t *testing.T) {
163160 }
164161 }()
165162
163+ // Let it run for a while without incrementing the block number
166164 time .Sleep (15 * time .Second )
167165 cancelMonitor ()
168166
169167 select {
170168 case err := <- errCh :
171169 t .Fatalf ("expected monitor to continue without error, but got: %v" , err )
172170 case <- time .After (1 * time .Second ):
171+ // Test passes if no error is received
173172 }
173+
174+ // Verify the block number hasn't changed
175+ syncedData , err := db .GetIdentityRegisteredEventsSyncedUntil (ctx )
176+ assert .NilError (t , err )
177+ assert .Equal (t , initialBlockNumber , syncedData .BlockNumber , "block number should remain unchanged" )
174178}
175179
176- func TestAPISyncMonitor_SkipsWhenDKGIsRunning (t * testing.T ) {
180+ func TestAPISyncMonitor_RunsNormallyWhenNoEons (t * testing.T ) {
177181 ctx , cancel := context .WithCancel (context .Background ())
178182 defer cancel ()
179183
180184 dbpool , closeDB := testsetup .NewTestDBPool (ctx , t , database .Definition )
181185 defer closeDB ()
182186 db := database .New (dbpool )
183- keyperdb := keyperDB .New (dbpool )
184-
185- // Set up batch config, but no DKG result
186- err := keyperdb .InsertBatchConfig (ctx , keyperDB.InsertBatchConfigParams {
187- KeyperConfigIndex : 1 ,
188- Keypers : []string {},
189- Height : 50 ,
190- Started : true ,
191- })
192- assert .NilError (t , err )
193187
194- // Set up initial block data
188+ // Only set up initial block data, no eon entries
195189 initialBlockNumber := int64 (100 )
196- err = db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
190+ err : = db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
197191 BlockHash : []byte {0x01 , 0x02 , 0x03 },
198192 BlockNumber : initialBlockNumber ,
199193 })
@@ -221,9 +215,9 @@ func TestAPISyncMonitor_SkipsWhenDKGIsRunning(t *testing.T) {
221215
222216 select {
223217 case err := <- errCh :
224- t . Fatalf ( "expected monitor to continue without error, but got: %v" , err )
218+ assert . ErrorContains ( t , err , shutterservice . ErrBlockNotIncreasing . Error () )
225219 case <- time .After (1 * time .Second ):
226- // Test passes if no error is received
220+ t . Fatalf ( "expected monitor to throw error, but no error returned" )
227221 }
228222
229223 // Verify the block number hasn't changed
@@ -232,19 +226,24 @@ func TestAPISyncMonitor_SkipsWhenDKGIsRunning(t *testing.T) {
232226 assert .Equal (t , initialBlockNumber , syncedData .BlockNumber , "block number should remain unchanged" )
233227}
234228
235- func TestAPISyncMonitor_RunsNormallyWhenNoBatchConfig (t * testing.T ) {
229+ func TestAPISyncMonitor_ContinuesWhenNoRows (t * testing.T ) {
236230 ctx , cancel := context .WithCancel (context .Background ())
237231 defer cancel ()
238232
239233 dbpool , closeDB := testsetup .NewTestDBPool (ctx , t , database .Definition )
240234 defer closeDB ()
241- db := database .New (dbpool )
242235
243- // Only set up initial block data, no keyper set
244- initialBlockNumber := int64 (100 )
245- err := db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
246- BlockHash : []byte {0x01 , 0x02 , 0x03 },
247- BlockNumber : initialBlockNumber ,
236+ // Set up eon and DKG result, but no block data
237+ keyperdb := keyperDB .New (dbpool )
238+
239+ err := keyperdb .InsertEon (ctx , keyperDB.InsertEonParams {
240+ Eon : 1 ,
241+ })
242+ assert .NilError (t , err )
243+
244+ err = keyperdb .InsertDKGResult (ctx , keyperDB.InsertDKGResultParams {
245+ Eon : 1 ,
246+ Success : true ,
248247 })
249248 assert .NilError (t , err )
250249
@@ -264,44 +263,29 @@ func TestAPISyncMonitor_RunsNormallyWhenNoBatchConfig(t *testing.T) {
264263 }
265264 }()
266265
267- // Let it run for a while without incrementing the block number
268266 time .Sleep (15 * time .Second )
269267 cancelMonitor ()
270268
271269 select {
272270 case err := <- errCh :
273- assert . ErrorContains ( t , err , shutterservice . ErrBlockNotIncreasing . Error () )
271+ t . Fatalf ( "expected monitor to continue without error, but got: %v" , err )
274272 case <- time .After (1 * time .Second ):
275- t .Fatalf ("expected monitor to throw error, but no error returned" )
276273 }
277-
278- // Verify the block number hasn't changed
279- syncedData , err := db .GetIdentityRegisteredEventsSyncedUntil (ctx )
280- assert .NilError (t , err )
281- assert .Equal (t , initialBlockNumber , syncedData .BlockNumber , "block number should remain unchanged" )
282274}
283275
284- func TestAPISyncMonitor_RunsNormallyWhenBatchConfigNotStarted (t * testing.T ) {
276+ func TestAPISyncMonitor_RunsNormallyWithCompletedDKG (t * testing.T ) {
285277 ctx , cancel := context .WithCancel (context .Background ())
286278 defer cancel ()
287279
288280 dbpool , closeDB := testsetup .NewTestDBPool (ctx , t , database .Definition )
289281 defer closeDB ()
290282 db := database .New (dbpool )
291- keyperdb := keyperDB .New (dbpool )
292283
293- // Set up batch config with Started = false
294- err := keyperdb .InsertBatchConfig (ctx , keyperDB.InsertBatchConfigParams {
295- KeyperConfigIndex : 1 ,
296- Keypers : []string {},
297- Height : 50 ,
298- Started : false ,
299- })
300- assert .NilError (t , err )
284+ initialBlockNumber := int64 (100 )
285+ setupTestData (ctx , t , dbpool , initialBlockNumber )
301286
302287 // Set up initial block data
303- initialBlockNumber := int64 (100 )
304- err = db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
288+ err := db .SetIdentityRegisteredEventSyncedUntil (ctx , database.SetIdentityRegisteredEventSyncedUntilParams {
305289 BlockHash : []byte {0x01 , 0x02 , 0x03 },
306290 BlockNumber : initialBlockNumber ,
307291 })
@@ -323,7 +307,7 @@ func TestAPISyncMonitor_RunsNormallyWhenBatchConfigNotStarted(t *testing.T) {
323307 }
324308 }()
325309
326- // Let it run for a while
310+ // Let it run for a while without incrementing the block number
327311 time .Sleep (15 * time .Second )
328312 cancelMonitor ()
329313
0 commit comments