tests: clarify keyword arguments, rename
This commit is contained in:
@@ -882,15 +882,18 @@ class TestPeer(TestCaseForTestnet):
|
|||||||
with self.assertRaises(PaymentDone):
|
with self.assertRaises(PaymentDone):
|
||||||
run(f())
|
run(f())
|
||||||
|
|
||||||
def _run_mpp(self, graph, kwargs1, kwargs2):
|
def _run_mpp(self, graph, fail_kwargs, success_kwargs):
|
||||||
|
"""Tests a multipart payment scenario for failing and successful cases."""
|
||||||
self.assertEqual(500_000_000_000, graph.chan_ab.balance(LOCAL))
|
self.assertEqual(500_000_000_000, graph.chan_ab.balance(LOCAL))
|
||||||
self.assertEqual(500_000_000_000, graph.chan_ac.balance(LOCAL))
|
self.assertEqual(500_000_000_000, graph.chan_ac.balance(LOCAL))
|
||||||
amount_to_pay = 600_000_000_000
|
amount_to_pay = 600_000_000_000
|
||||||
peers = graph.all_peers()
|
peers = graph.all_peers()
|
||||||
async def pay(attempts=1,
|
async def pay(
|
||||||
alice_uses_trampoline=False,
|
attempts=1,
|
||||||
bob_forwarding=True,
|
alice_uses_trampoline=False,
|
||||||
mpp_invoice=True):
|
bob_forwarding=True,
|
||||||
|
mpp_invoice=True
|
||||||
|
):
|
||||||
if mpp_invoice:
|
if mpp_invoice:
|
||||||
graph.w_d.features |= LnFeatures.BASIC_MPP_OPT
|
graph.w_d.features |= LnFeatures.BASIC_MPP_OPT
|
||||||
if not bob_forwarding:
|
if not bob_forwarding:
|
||||||
@@ -924,22 +927,22 @@ class TestPeer(TestCaseForTestnet):
|
|||||||
await group.spawn(pay(**kwargs))
|
await group.spawn(pay(**kwargs))
|
||||||
|
|
||||||
with self.assertRaises(NoPathFound):
|
with self.assertRaises(NoPathFound):
|
||||||
run(f(kwargs1))
|
run(f(fail_kwargs))
|
||||||
with self.assertRaises(PaymentDone):
|
with self.assertRaises(PaymentDone):
|
||||||
run(f(kwargs2))
|
run(f(success_kwargs))
|
||||||
|
|
||||||
@needs_test_with_all_chacha20_implementations
|
@needs_test_with_all_chacha20_implementations
|
||||||
def test_multipart_payment_with_timeout(self):
|
def test_payment_multipart_with_timeout(self):
|
||||||
graph = self.prepare_chans_and_peers_in_square()
|
graph = self.prepare_chans_and_peers_in_square()
|
||||||
self._run_mpp(graph, {'bob_forwarding':False}, {'bob_forwarding':True})
|
self._run_mpp(graph, {'bob_forwarding': False}, {'bob_forwarding': True})
|
||||||
|
|
||||||
@needs_test_with_all_chacha20_implementations
|
@needs_test_with_all_chacha20_implementations
|
||||||
def test_multipart_payment(self):
|
def test_payment_multipart(self):
|
||||||
graph = self.prepare_chans_and_peers_in_square()
|
graph = self.prepare_chans_and_peers_in_square()
|
||||||
self._run_mpp(graph, {'mpp_invoice':False}, {'mpp_invoice':True})
|
self._run_mpp(graph, {'mpp_invoice': False}, {'mpp_invoice': True})
|
||||||
|
|
||||||
@needs_test_with_all_chacha20_implementations
|
@needs_test_with_all_chacha20_implementations
|
||||||
def test_multipart_payment_with_trampoline(self):
|
def test_payment_multipart_trampoline(self):
|
||||||
# single attempt will fail with insufficient trampoline fee
|
# single attempt will fail with insufficient trampoline fee
|
||||||
graph = self.prepare_chans_and_peers_in_square()
|
graph = self.prepare_chans_and_peers_in_square()
|
||||||
electrum.trampoline._TRAMPOLINE_NODES_UNITTESTS = {
|
electrum.trampoline._TRAMPOLINE_NODES_UNITTESTS = {
|
||||||
@@ -947,7 +950,10 @@ class TestPeer(TestCaseForTestnet):
|
|||||||
graph.w_c.name: LNPeerAddr(host="127.0.0.1", port=9735, pubkey=graph.w_c.node_keypair.pubkey),
|
graph.w_c.name: LNPeerAddr(host="127.0.0.1", port=9735, pubkey=graph.w_c.node_keypair.pubkey),
|
||||||
}
|
}
|
||||||
try:
|
try:
|
||||||
self._run_mpp(graph, {'alice_uses_trampoline':True, 'attempts':1}, {'alice_uses_trampoline':True, 'attempts':30})
|
self._run_mpp(
|
||||||
|
graph,
|
||||||
|
{'alice_uses_trampoline': True, 'attempts': 1},
|
||||||
|
{'alice_uses_trampoline': True, 'attempts': 30})
|
||||||
finally:
|
finally:
|
||||||
electrum.trampoline._TRAMPOLINE_NODES_UNITTESTS = {}
|
electrum.trampoline._TRAMPOLINE_NODES_UNITTESTS = {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user