pytest: test the invoice hook.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2019-04-11 11:45:22 +09:30
parent 43d07aaed2
commit 9c373fecb6
2 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
#!/usr/bin/env python3
"""Simple plugin to test the invoice_payment_hook.
We just refuse to let them pay invoices with preimages divisible by 16.
"""
from lightning import Plugin
plugin = Plugin()
@plugin.hook('invoice_payment')
def on_payment(payment, plugin):
print("label={}".format(payment['label']))
print("msat={}".format(payment['msat']))
print("preimage={}".format(payment['preimage']))
if payment['preimage'].endswith('0'):
# FIXME: Define this!
WIRE_TEMPORARY_NODE_FAILURE = 0x2002
return {'result': {'failure_code': WIRE_TEMPORARY_NODE_FAILURE}}
return {'result': {}}
plugin.run()