@@ -322,8 +322,7 @@ impl RewardSetEventPayload {
322
322
}
323
323
324
324
#[ cfg( test) ]
325
- static TEST_EVENT_OBSERVER_SKIP_SEND_PAYLOAD : std:: sync:: Mutex < Option < bool > > =
326
- std:: sync:: Mutex :: new ( None ) ;
325
+ static TEST_EVENT_OBSERVER_SKIP_RETRY : std:: sync:: Mutex < Option < bool > > = std:: sync:: Mutex :: new ( None ) ;
327
326
328
327
impl EventObserver {
329
328
fn init_db ( db_path : & str ) -> Result < Connection , db_error > {
@@ -381,16 +380,6 @@ impl EventObserver {
381
380
}
382
381
383
382
fn process_pending_payloads ( conn : & Connection ) {
384
- #[ cfg( test) ]
385
- if TEST_EVENT_OBSERVER_SKIP_SEND_PAYLOAD
386
- . lock ( )
387
- . unwrap ( )
388
- . unwrap_or ( false )
389
- {
390
- warn ! ( "Fault injection: skipping retry of payload" ) ;
391
- return ;
392
- }
393
-
394
383
let pending_payloads = match Self :: get_pending_payloads ( conn) {
395
384
Ok ( payloads) => payloads,
396
385
Err ( e) => {
@@ -405,6 +394,17 @@ impl EventObserver {
405
394
for ( id, url, payload, timeout_ms) in pending_payloads {
406
395
let timeout = Duration :: from_millis ( timeout_ms) ;
407
396
Self :: send_payload_directly ( & payload, & url, timeout) ;
397
+
398
+ #[ cfg( test) ]
399
+ if TEST_EVENT_OBSERVER_SKIP_RETRY
400
+ . lock ( )
401
+ . unwrap ( )
402
+ . unwrap_or ( false )
403
+ {
404
+ warn ! ( "Fault injection: delete_payload" ) ;
405
+ return ;
406
+ }
407
+
408
408
if let Err ( e) = Self :: delete_payload ( conn, id) {
409
409
error ! (
410
410
"Event observer: failed to delete pending payload from database" ;
@@ -459,6 +459,17 @@ impl EventObserver {
459
459
) ;
460
460
}
461
461
}
462
+
463
+ #[ cfg( test) ]
464
+ if TEST_EVENT_OBSERVER_SKIP_RETRY
465
+ . lock ( )
466
+ . unwrap ( )
467
+ . unwrap_or ( false )
468
+ {
469
+ warn ! ( "Fault injection: skipping retry of payload" ) ;
470
+ return ;
471
+ }
472
+
462
473
sleep ( backoff) ;
463
474
backoff *= 2 ;
464
475
}
@@ -2258,18 +2269,15 @@ mod test {
2258
2269
2259
2270
// Disable retrying so that it sends the payload only once
2260
2271
// and that payload will be ignored by the test server.
2261
- TEST_EVENT_OBSERVER_SKIP_SEND_PAYLOAD
2262
- . lock ( )
2263
- . unwrap ( )
2264
- . replace ( true ) ;
2272
+ TEST_EVENT_OBSERVER_SKIP_RETRY . lock ( ) . unwrap ( ) . replace ( true ) ;
2265
2273
2266
2274
info ! ( "Sending payload 1" ) ;
2267
2275
2268
2276
// Send the payload
2269
2277
observer. send_payload ( & payload, "/test" ) ;
2270
2278
2271
2279
// Re-enable retrying
2272
- TEST_EVENT_OBSERVER_SKIP_SEND_PAYLOAD
2280
+ TEST_EVENT_OBSERVER_SKIP_RETRY
2273
2281
. lock ( )
2274
2282
. unwrap ( )
2275
2283
. replace ( false ) ;
0 commit comments