Skip to content

Commit d79048b

Browse files
committed
itest: utilize more options when paying with satoshi
1 parent 54febb6 commit d79048b

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

itest/assets_test.go

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1365,7 +1365,7 @@ func sendKeySendPayment(t *testing.T, src, dst *HarnessNode,
13651365
stream, err := src.RouterClient.SendPaymentV2(ctxt, req)
13661366
require.NoError(t, err)
13671367

1368-
result, err := getFinalPaymentResult(stream)
1368+
result, err := getPaymentResult(stream, false)
13691369
require.NoError(t, err)
13701370
require.Equal(t, lnrpc.Payment_SUCCEEDED, result.Status)
13711371
}
@@ -1425,13 +1425,20 @@ func payPayReqWithSatoshi(t *testing.T, payer *HarnessNode, payReq string,
14251425
ctxt, cancel := context.WithTimeout(ctxb, defaultTimeout)
14261426
defer cancel()
14271427

1428+
shardSize := uint64(0)
1429+
1430+
if cfg.smallShards {
1431+
shardSize = 80_000_000
1432+
}
1433+
14281434
sendReq := &routerrpc.SendPaymentRequest{
14291435
PaymentRequest: payReq,
14301436
TimeoutSeconds: int32(PaymentTimeout.Seconds()),
14311437
FeeLimitMsat: 1_000_000,
14321438
MaxParts: cfg.maxShards,
14331439
OutgoingChanIds: cfg.outgoingChanIDs,
14341440
AllowSelfPayment: cfg.allowSelfPayment,
1441+
MaxShardSizeMsat: shardSize,
14351442
}
14361443

14371444
if cfg.smallShards {
@@ -1441,17 +1448,9 @@ func payPayReqWithSatoshi(t *testing.T, payer *HarnessNode, payReq string,
14411448
stream, err := payer.RouterClient.SendPaymentV2(ctxt, sendReq)
14421449
require.NoError(t, err)
14431450

1444-
if cfg.payStatus == lnrpc.Payment_IN_FLIGHT {
1445-
t.Logf("Waiting for initial stream response...")
1446-
result, err := stream.Recv()
1447-
require.NoError(t, err)
1448-
1449-
require.Equal(t, cfg.payStatus, result.Status)
1450-
1451-
return
1452-
}
1453-
1454-
result, err := getFinalPaymentResult(stream)
1451+
result, err := getPaymentResult(
1452+
stream, cfg.payStatus == lnrpc.Payment_IN_FLIGHT,
1453+
)
14551454
if cfg.errSubStr != "" {
14561455
require.ErrorContains(t, err, cfg.errSubStr)
14571456
} else {

itest/litd_accounts_test.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -416,21 +416,28 @@ func payNode(invoiceCtx, paymentCtx context.Context, t *harnessTest,
416416
stream, err := from.SendPaymentV2(paymentCtx, sendReq)
417417
require.NoError(t.t, err)
418418

419-
result, err := getFinalPaymentResult(stream)
419+
result, err := getPaymentResult(stream, false)
420420
require.NoError(t.t, err)
421421
require.Equal(t.t, result.Status, lnrpc.Payment_SUCCEEDED)
422422
}
423423

424-
func getFinalPaymentResult(stream routerrpc.Router_SendPaymentV2Client) (
425-
*lnrpc.Payment, error) {
424+
func getPaymentResult(stream routerrpc.Router_SendPaymentV2Client,
425+
isHodl bool) (*lnrpc.Payment, error) {
426426

427427
for {
428428
payment, err := stream.Recv()
429429
if err != nil {
430430
return nil, err
431431
}
432432

433-
if payment.Status != lnrpc.Payment_IN_FLIGHT {
433+
// If this is a hodl payment, then we'll return the first
434+
// expected response. Otherwise, we'll wait until the in flight
435+
// clears to we can observe the other payment states.
436+
switch {
437+
case isHodl:
438+
return payment, nil
439+
440+
case payment.Status != lnrpc.Payment_IN_FLIGHT:
434441
return payment, nil
435442
}
436443
}

0 commit comments

Comments
 (0)