Files
plugins/archived/probe/test_probe.py
fmhoeger 92186296e2 Rename directory 'Unmaintained' back to 'archived'
Update text and links for archived plugins in README
2024-02-06 20:29:25 +00:00

59 lines
1.4 KiB
Python

import unittest
import os
from pyln.testing.fixtures import * # noqa: F401,F403
from pyln.testing.utils import DEVELOPER
plugin_path = os.path.join(os.path.dirname(__file__), "probe.py")
def test_probe_starts(node_factory):
l1 = node_factory.get_node()
# Test dynamically
l1.rpc.plugin_start(plugin_path)
l1.rpc.plugin_stop(plugin_path)
l1.rpc.plugin_start(plugin_path)
l1.stop()
# Then statically
l1.daemon.opts["plugin"] = plugin_path
l1.start()
@unittest.skipIf(not DEVELOPER, "Gossip is slow")
def test_probe(node_factory):
l1, l2, l3, l4 = node_factory.line_graph(
4,
opts=[
{'plugin': plugin_path},
{},
{},
{}
],
wait_for_announce=True
)
res = l1.rpc.probe(l4.info['id'])
assert(res['destination'] == l4.info['id'])
assert(res['failcode'] == 16399)
@unittest.skipIf(not DEVELOPER, "Gossip is slow")
def test_route_unreachable(node_factory):
l1, l2, l3, l4 = node_factory.line_graph(
4,
opts=[
{'plugin': plugin_path},
{},
{},
{}
],
wait_for_announce=True
)
l2.rpc.close(l3.info['id'])
res = l1.rpc.probe(l4.info['id'])
assert(res['destination'] == l4.info['id'])
assert(res['failcode'] == 16394)
route = res['route'].split(',')
assert(route.index(res['erring_channel']) == 1)