From 92c45712d262b0b0896d59e4e007ec7e1e888fe0 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Sat, 14 Dec 2024 08:11:49 +1030 Subject: [PATCH] pytest: test xpay using unannounced channels. Signed-off-by: Rusty Russell --- tests/test_xpay.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/test_xpay.py b/tests/test_xpay.py index f3999f455..8a6be07ef 100644 --- a/tests/test_xpay.py +++ b/tests/test_xpay.py @@ -530,3 +530,21 @@ def test_xpay_maxfee(node_factory, bitcoind, chainparams): ret = l1.rpc.xpay(invstring=inv, maxfee=maxfee) fee = ret['amount_sent_msat'] - ret['amount_msat'] assert fee <= maxfee + + +@pytest.mark.xfail(strict=True) +def test_xpay_unannounced(node_factory): + l1, l2 = node_factory.line_graph(2, announce_channels=False) + + # BOLT 11, direct peer + b11 = l2.rpc.invoice('10000msat', 'test_xpay_unannounced', 'test_xpay_unannounced bolt11')['bolt11'] + ret = l1.rpc.xpay(b11) + assert ret['failed_parts'] == 0 + assert ret['successful_parts'] == 1 + assert ret['amount_msat'] == 10000 + assert ret['amount_sent_msat'] == 10000 + + # BOLT 12, direct peer + offer = l2.rpc.offer('any')['bolt12'] + b12 = l1.rpc.fetchinvoice(offer, '100000msat')['invoice'] + l1.rpc.xpay(b12)