mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-24 01:24:26 +01:00
pytest: test the invoice hook.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
26
tests/plugins/reject_some_invoices.py
Executable file
26
tests/plugins/reject_some_invoices.py
Executable 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()
|
||||
Reference in New Issue
Block a user