@@ -2452,4 +2452,37 @@ mod test {
2452
2452
rx. recv_timeout ( Duration :: from_secs ( 5 ) )
2453
2453
. expect ( "Server did not receive request in time" ) ;
2454
2454
}
2455
+
2456
+ #[ test]
2457
+ fn test_event_dispatcher_lossy ( ) {
2458
+ let timeout = Duration :: from_secs ( 5 ) ;
2459
+ let payload = json ! ( { "key" : "value" } ) ;
2460
+
2461
+ // Create a mock server returning error 500
2462
+ let mut server = mockito:: Server :: new ( ) ;
2463
+ let _m = server. mock ( "POST" , "/test" ) . with_status ( 500 ) . create ( ) ;
2464
+
2465
+ let endpoint = server. url ( ) . strip_prefix ( "http://" ) . unwrap ( ) . to_string ( ) ;
2466
+
2467
+ let observer = EventObserver :: new ( None , endpoint, timeout, true ) ;
2468
+
2469
+ // in non lossy mode this will run forever
2470
+ observer. send_payload ( & payload, "/test" ) ;
2471
+
2472
+ // Verify that the payload was sent
2473
+ _m. assert ( ) ;
2474
+ }
2475
+
2476
+ #[ test]
2477
+ fn test_event_dispatcher_lossy_invalid_url ( ) {
2478
+ let timeout = Duration :: from_secs ( 5 ) ;
2479
+ let payload = json ! ( { "key" : "value" } ) ;
2480
+
2481
+ let endpoint = String :: from ( "255.255.255.255" ) ;
2482
+
2483
+ let observer = EventObserver :: new ( None , endpoint, timeout, true ) ;
2484
+
2485
+ // in non lossy mode this will run forever
2486
+ observer. send_payload ( & payload, "/test" ) ;
2487
+ }
2455
2488
}
0 commit comments