core-lightning/tests/plugins/millisatoshis.py
Rusty Russell c7316d7ba2 pytest: test that we translate to and from Millisatoshi on plugin RPC.
We don't, but we should, like we do for normal RPC.  However, I chose
to use function annotations, rather than names-ending-in-'msat'
because it's more Pythony.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-02-25 21:45:21 +00:00

24 lines
817 B
Python
Executable File

#!/usr/bin/env python3
from lightning import Plugin, Millisatoshi
plugin = Plugin(autopatch=True)
@plugin.method("echo")
def echo(plugin, msat: Millisatoshi, not_an_msat):
plugin.log("got echo for {} {} (types {} and {})"
.format(msat, not_an_msat, type(msat), type(not_an_msat)))
if not isinstance(msat, Millisatoshi):
raise TypeError("msat must be Millisatoshi not {}".format(type(msat)))
if isinstance(not_an_msat, Millisatoshi):
raise TypeError("not_an_msat must not be Millisatoshi")
plugin.log("got echo for {} (type {})".format(msat, type(msat)))
if not isinstance(msat, Millisatoshi):
raise TypeError("msat must be Millisatoshi not {}".format(type(msat)))
plugin.log("Returning {}".format(msat))
return {'echo_msat': msat}
plugin.run()