@@ -2395,10 +2395,11 @@ fn auto_retry_partial_failure() {
23952395 let payment_params = PaymentParameters :: from_node_id ( nodes[ 1 ] . node . get_our_node_id ( ) , TEST_FINAL_CLTV )
23962396 . with_expiry_time ( payment_expiry_secs as u64 )
23972397 . with_bolt11_features ( invoice_features) . unwrap ( ) ;
2398+
2399+ // Configure the initial send path
23982400 let mut route_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat) ;
23992401 route_params. max_total_routing_fee_msat = None ;
24002402
2401- // Configure the initial send, retry1 and retry2's paths.
24022403 let send_route = Route {
24032404 paths : vec ! [
24042405 Path { hops: vec![ RouteHop {
@@ -2422,6 +2423,14 @@ fn auto_retry_partial_failure() {
24222423 ] ,
24232424 route_params : Some ( route_params. clone ( ) ) ,
24242425 } ;
2426+ nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( send_route) ) ;
2427+
2428+ // Configure the retry1 paths
2429+ let mut payment_params = route_params. payment_params . clone ( ) ;
2430+ payment_params. previously_failed_channels . push ( chan_2_id) ;
2431+ let mut retry_1_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 2 ) ;
2432+ retry_1_params. max_total_routing_fee_msat = None ;
2433+
24252434 let retry_1_route = Route {
24262435 paths : vec ! [
24272436 Path { hops: vec![ RouteHop {
@@ -2443,8 +2452,16 @@ fn auto_retry_partial_failure() {
24432452 maybe_announced_channel: true ,
24442453 } ] , blinded_tail: None } ,
24452454 ] ,
2446- route_params : Some ( route_params . clone ( ) ) ,
2455+ route_params : Some ( retry_1_params . clone ( ) ) ,
24472456 } ;
2457+ nodes[ 0 ] . router . expect_find_route ( retry_1_params. clone ( ) , Ok ( retry_1_route) ) ;
2458+
2459+ // Configure the retry2 path
2460+ let mut payment_params = retry_1_params. payment_params . clone ( ) ;
2461+ payment_params. previously_failed_channels . push ( chan_3_id) ;
2462+ let mut retry_2_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 4 ) ;
2463+ retry_2_params. max_total_routing_fee_msat = None ;
2464+
24482465 let retry_2_route = Route {
24492466 paths : vec ! [
24502467 Path { hops: vec![ RouteHop {
@@ -2457,20 +2474,8 @@ fn auto_retry_partial_failure() {
24572474 maybe_announced_channel: true ,
24582475 } ] , blinded_tail: None } ,
24592476 ] ,
2460- route_params : Some ( route_params . clone ( ) ) ,
2477+ route_params : Some ( retry_2_params . clone ( ) ) ,
24612478 } ;
2462- nodes[ 0 ] . router . expect_find_route ( route_params. clone ( ) , Ok ( send_route) ) ;
2463- let mut payment_params = route_params. payment_params . clone ( ) ;
2464- payment_params. previously_failed_channels . push ( chan_2_id) ;
2465-
2466- let mut retry_1_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 2 ) ;
2467- retry_1_params. max_total_routing_fee_msat = None ;
2468- nodes[ 0 ] . router . expect_find_route ( retry_1_params, Ok ( retry_1_route) ) ;
2469-
2470- let mut payment_params = route_params. payment_params . clone ( ) ;
2471- payment_params. previously_failed_channels . push ( chan_3_id) ;
2472- let mut retry_2_params = RouteParameters :: from_payment_params_and_value ( payment_params, amt_msat / 4 ) ;
2473- retry_2_params. max_total_routing_fee_msat = None ;
24742479 nodes[ 0 ] . router . expect_find_route ( retry_2_params, Ok ( retry_2_route) ) ;
24752480
24762481 // Send a payment that will partially fail on send, then partially fail on retry, then succeed.
0 commit comments