Skip to content

Commit

Permalink
test: add test for self payment
Browse files Browse the repository at this point in the history
  • Loading branch information
vladimirfomene committed Sep 22, 2023
1 parent 70d8f7e commit 8a06076
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions lightning/src/ln/payment_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1401,6 +1401,29 @@ fn preflight_probes_yield_event_and_skip() {
assert!(!nodes[0].node.has_pending_payments());
}

#[test]
fn test_self_payment() {
let chanmon_cfg = create_chanmon_cfgs(1);
let node_cfg = create_node_cfgs(1, &chanmon_cfg);
let node_chanmgr = create_node_chanmgrs(1, &node_cfg, &[None, None]);
let nodes = create_network(1, &node_cfg, &node_chanmgr);
let (payment_hash, payment_secret) = nodes[0].node.create_inbound_payment(Some(1000), 60, None).unwrap();
let payment_params = PaymentParameters::from_node_id(nodes[0].node.get_our_node_id(), TEST_FINAL_CLTV);
let route_params = RouteParameters {
payment_params,
final_value_msat: 100000,
};
let res = nodes[0].node.send_payment(payment_hash, RecipientOnionFields::secret_only(payment_secret), PaymentId(payment_hash.0), route_params, Retry::Attempts(0));
assert!(res.is_ok());
let events = nodes[0].node.get_and_clear_pending_events();
assert_eq!(events.len(), 2);
matches!(events[0], Event::PaymentSent { .. });
matches!(events[1], Event::PaymentClaimable { .. });
let pending_payments = nodes[0].node.list_recent_payments();
assert_eq!(pending_payments.len(), 1);
matches!(pending_payments[0], RecentPaymentDetails::Fulfilled { .. });
}

#[test]
fn claimed_send_payment_idempotent() {
// Tests that `send_payment` (and friends) are (reasonably) idempotent.
Expand Down

0 comments on commit 8a06076

Please sign in to comment.