mirror of
https://github.com/aljazceru/lightning.git
synced 2026-01-09 17:14:28 +01:00
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>
This commit is contained in:
23
tests/plugins/millisatoshis.py
Executable file
23
tests/plugins/millisatoshis.py
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user