MCPcopy Create free account
hub / github.com/ElementsProject/lightning / test_htlc_retransmit_order

Function test_htlc_retransmit_order

tests/test_connection.py:3712–3743  ·  view source on GitHub ↗
(node_factory, executor)

Source from the content-addressed store, hash-verified

3710
3711
3712def test_htlc_retransmit_order(node_factory, executor):
3713 NUM_HTLCS = 10
3714 l1, l2 = node_factory.line_graph(2,
3715 opts=[{'may_reconnect': True,
3716 'feerates': (7500, 7500, 7500, 7500),
3717 'disconnect': ['=WIRE_UPDATE_ADD_HTLC*' + str(NUM_HTLCS),
3718 '-WIRE_COMMITMENT_SIGNED'],
3719 'dev-disable-commit-after': 0},
3720 {'may_reconnect': True}])
3721 invoices = [l2.rpc.invoice(1000, str(x), str(x)) for x in range(NUM_HTLCS)]
3722
3723 routestep = {
3724 'amount_msat': 1000,
3725 'id': l2.info['id'],
3726 'delay': 5,
3727 'channel': first_scid(l1, l2)
3728 }
3729 for inv in invoices:
3730 executor.submit(l1.rpc.sendpay, [routestep], inv['payment_hash'], payment_secret=inv['payment_secret'])
3731
3732 l1.daemon.wait_for_log('dev_disconnect')
3733 l1.rpc.call('dev-reenable-commit', [l2.info['id']])
3734 l1.daemon.wait_for_log('dev_disconnect')
3735
3736 # Now reconnect.
3737 l1.rpc.connect(l2.info['id'], 'localhost', port=l2.port)
3738
3739 for inv in invoices:
3740 result = l1.rpc.waitsendpay(inv['payment_hash'])
3741 assert(result['status'] == 'complete')
3742
3743 # If order was wrong, we'll get a LOG_BROKEN and fixtures will complain.
3744
3745
3746@unittest.skipIf(True, "Currently failing, see tracking issue #4265")

Callers

nothing calls this directly

Calls 7

first_scidFunction · 0.90
line_graphMethod · 0.80
wait_for_logMethod · 0.80
waitsendpayMethod · 0.80
invoiceMethod · 0.45
callMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected