@@ -718,9 +718,12 @@ func addRoutingFee(amt lnwire.MilliSatoshi) lnwire.MilliSatoshi {
718718}
719719
720720func  sendAssetKeySendPayment (t  * testing.T , src , dst  * HarnessNode , amt  uint64 ,
721- 	assetID  []byte , btcAmt  fn.Option [int64 ],
722- 	expectedStatus  lnrpc.Payment_PaymentStatus ,
723- 	failReason  fn.Option [lnrpc.PaymentFailureReason ]) {
721+ 	assetID  []byte , btcAmt  fn.Option [int64 ], opts  ... payOpt ) {
722+ 
723+ 	cfg  :=  defaultPayConfig ()
724+ 	for  _ , opt  :=  range  opts  {
725+ 		opt (cfg )
726+ 	}
724727
725728	ctxb  :=  context .Background ()
726729	ctxt , cancel  :=  context .WithTimeout (ctxb , defaultTimeout )
@@ -760,12 +763,8 @@ func sendAssetKeySendPayment(t *testing.T, src, dst *HarnessNode, amt uint64,
760763	if  result .Status  ==  lnrpc .Payment_FAILED  {
761764		t .Logf ("Failure reason: %v" , result .FailureReason )
762765	}
763- 	require .Equal (t , expectedStatus , result .Status )
764- 
765- 	expectedReason  :=  failReason .UnwrapOr (
766- 		lnrpc .PaymentFailureReason_FAILURE_REASON_NONE ,
767- 	)
768- 	require .Equal (t , expectedReason , result .FailureReason )
766+ 	require .Equal (t , cfg .payStatus , result .Status )
767+ 	require .Equal (t , cfg .failureReason , result .FailureReason )
769768}
770769
771770func  sendKeySendPayment (t  * testing.T , src , dst  * HarnessNode ,
@@ -818,9 +817,7 @@ func createAndPayNormalInvoiceWithBtc(t *testing.T, src, dst *HarnessNode,
818817	})
819818	require .NoError (t , err )
820819
821- 	payInvoiceWithSatoshi (
822- 		t , src , invoiceResp , lnrpc .Payment_SUCCEEDED , false ,
823- 	)
820+ 	payInvoiceWithSatoshi (t , src , invoiceResp )
824821}
825822
826823func  createAndPayNormalInvoice (t  * testing.T , src , rfqPeer , dst  * HarnessNode ,
@@ -846,8 +843,12 @@ func createAndPayNormalInvoice(t *testing.T, src, rfqPeer, dst *HarnessNode,
846843}
847844
848845func  payInvoiceWithSatoshi (t  * testing.T , payer  * HarnessNode ,
849- 	invoice  * lnrpc.AddInvoiceResponse ,
850- 	expectedStatus  lnrpc.Payment_PaymentStatus , expectTimeout  bool ) {
846+ 	invoice  * lnrpc.AddInvoiceResponse , opts  ... payOpt ) {
847+ 
848+ 	cfg  :=  defaultPayConfig ()
849+ 	for  _ , opt  :=  range  opts  {
850+ 		opt (cfg )
851+ 	}
851852
852853	ctxb  :=  context .Background ()
853854	ctxt , cancel  :=  context .WithTimeout (ctxb , defaultTimeout )
@@ -863,11 +864,12 @@ func payInvoiceWithSatoshi(t *testing.T, payer *HarnessNode,
863864	require .NoError (t , err )
864865
865866	result , err  :=  getPaymentResult (stream )
866- 	if  expectTimeout  {
867+ 	if  cfg . expectTimeout  {
867868		require .ErrorContains (t , err , "context deadline exceeded" )
868869	} else  {
869870		require .NoError (t , err )
870- 		require .Equal (t , expectedStatus , result .Status )
871+ 		require .Equal (t , cfg .payStatus , result .Status )
872+ 		require .Equal (t , cfg .failureReason , result .FailureReason )
871873	}
872874}
873875
@@ -910,6 +912,7 @@ func payInvoiceWithSatoshiLastHop(t *testing.T, payer *HarnessNode,
910912
911913type  payConfig  struct  {
912914	smallShards    bool 
915+ 	expectTimeout  bool 
913916	payStatus      lnrpc.Payment_PaymentStatus 
914917	failureReason  lnrpc.PaymentFailureReason 
915918	rfq            fn.Option [rfqmsg.ID ]
@@ -918,6 +921,7 @@ type payConfig struct {
918921func  defaultPayConfig () * payConfig  {
919922	return  & payConfig {
920923		smallShards :   false ,
924+ 		expectTimeout : false ,
921925		payStatus :     lnrpc .Payment_SUCCEEDED ,
922926		failureReason : lnrpc .PaymentFailureReason_FAILURE_REASON_NONE ,
923927	}
@@ -931,6 +935,12 @@ func withSmallShards() payOpt {
931935	}
932936}
933937
938+ func  withExpectTimeout () payOpt  {
939+ 	return  func (c  * payConfig ) {
940+ 		c .expectTimeout  =  true 
941+ 	}
942+ }
943+ 
934944func  withFailure (status  lnrpc.Payment_PaymentStatus ,
935945	reason  lnrpc.PaymentFailureReason ) payOpt  {
936946
0 commit comments