pytest: test rpc_command hook chain

This commit is contained in:
Michael Schmoock
2021-02-11 16:18:41 +01:00
committed by Rusty Russell
parent 316457a1de
commit d753ee27a2
3 changed files with 52 additions and 17 deletions

26
tests/plugins/rpc_command_1.py Executable file
View File

@@ -0,0 +1,26 @@
#!/usr/bin/env python3
"""
This plugin is used to test the chained `rpc_command` hook.
"""
from pyln.client import Plugin
plugin = Plugin()
@plugin.hook("rpc_command")
def on_rpc_command(plugin, rpc_command, **kwargs):
request = rpc_command
if request["method"] == "invoice":
# Replace part of this command
request["params"]["description"] = "rpc_command_1 modified this description"
return {"replace": request}
elif request["method"] == "listfunds":
# Return a custom result to the command
return {"return": {"result": ["Custom rpc_command_1 result"]}}
elif request["method"] == "help":
request["method"] = "autocleaninvoice"
return {"replace": request}
return {"result": "continue"}
plugin.run()