mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-08 17:03:12 +00:00
Add rest APIs tests
This commit is contained in:
parent
cfe0904d1e
commit
6e0670ab88
@ -278,3 +278,80 @@ class TestAdminFlags(StepsFilter, StepsStore, StepsRelay, StepsLightPush):
|
|||||||
assert counts[lv] == 0, f"{lv} must be filtered at FATAL"
|
assert counts[lv] == 0, f"{lv} must be filtered at FATAL"
|
||||||
|
|
||||||
assert self.node1.set_log_level("TRACE").status_code == 200
|
assert self.node1.set_log_level("TRACE").status_code == 200
|
||||||
|
|
||||||
|
def test_get_connected_peers_contains_node2(self):
|
||||||
|
node1 = node2 = None
|
||||||
|
try:
|
||||||
|
name = getattr(self, "test_id", "adminflags")
|
||||||
|
node1 = WakuNode(NODE_1, f"node1_{name}")
|
||||||
|
node2 = WakuNode(NODE_2, f"node2_{name}")
|
||||||
|
|
||||||
|
node1.start(relay="true")
|
||||||
|
node2.start(relay="true", discv5_bootstrap_node=node1.get_enr_uri())
|
||||||
|
|
||||||
|
def node2_connected():
|
||||||
|
peers = node1.get_connected_peers()
|
||||||
|
logger.debug(f"/admin/v1/peers/connected -> {peers}")
|
||||||
|
if not isinstance(peers, list) or not peers:
|
||||||
|
return False
|
||||||
|
maddrs = [self._extract_multiaddr(p) for p in peers]
|
||||||
|
return node2.get_multiaddr_with_id() in maddrs
|
||||||
|
|
||||||
|
self._wait_until(node2_connected, timeout=60, step=1.0, desc="node2 to show in connected peers")
|
||||||
|
finally:
|
||||||
|
for n in (node2, node1):
|
||||||
|
if n:
|
||||||
|
n.stop()
|
||||||
|
|
||||||
|
def test_get_relay_peers_contains_nodes(self):
|
||||||
|
node1 = node2 = node3 = None
|
||||||
|
try:
|
||||||
|
name = getattr(self, "test_id", "adminflags")
|
||||||
|
node1 = WakuNode(NODE_1, f"node1_{name}")
|
||||||
|
node2 = WakuNode(NODE_2, f"node2_{name}")
|
||||||
|
node3 = WakuNode(NODE_2, f"node3_{name}")
|
||||||
|
|
||||||
|
node1.start(relay="true")
|
||||||
|
node2.start(relay="true", discv5_bootstrap_node=node1.get_enr_uri())
|
||||||
|
node3.start(relay="true", discv5_bootstrap_node=node1.get_enr_uri())
|
||||||
|
|
||||||
|
def peers_listed():
|
||||||
|
peers = node1.get_relay_peers()
|
||||||
|
logger.debug(f"/admin/v1/peers/relay -> {peers}")
|
||||||
|
if not isinstance(peers, list) or not peers:
|
||||||
|
return False
|
||||||
|
maddrs = [self._extract_multiaddr(p) for p in peers]
|
||||||
|
return any(ma in maddrs for ma in (node2.get_multiaddr_with_id(), node3.get_multiaddr_with_id()))
|
||||||
|
|
||||||
|
self._wait_until(peers_listed, timeout=60, step=1.0, desc="relay peers to be listed")
|
||||||
|
finally:
|
||||||
|
for n in (node3, node2, node1):
|
||||||
|
if n:
|
||||||
|
n.stop()
|
||||||
|
|
||||||
|
def test_get_relay_peers_on_shard_contains_bootstrapped_node(self):
|
||||||
|
node1 = WakuNode(NODE_1, "node1_relay_shard")
|
||||||
|
node2 = WakuNode(NODE_2, "node2_relay_shard")
|
||||||
|
|
||||||
|
node1.start(relay="true")
|
||||||
|
node2.start(relay="true", discv5_bootstrap_node=node1.get_enr_uri())
|
||||||
|
|
||||||
|
shard_id = 0 # default shard
|
||||||
|
deadline = time.time() + 60
|
||||||
|
present = False
|
||||||
|
while time.time() < deadline and not present:
|
||||||
|
resp = node1.get_relay_peers_on_shard(shard_id)
|
||||||
|
peers = resp.get("peers", []) if isinstance(resp, dict) else []
|
||||||
|
maddrs = []
|
||||||
|
for p in peers:
|
||||||
|
m = p.get("multiaddr") or (p.get("multiaddrs")[0] if p.get("multiaddrs") else None)
|
||||||
|
if m:
|
||||||
|
maddrs.append(m)
|
||||||
|
if node2.get_multiaddr_with_id() in maddrs:
|
||||||
|
present = True
|
||||||
|
else:
|
||||||
|
time.sleep(1.0)
|
||||||
|
|
||||||
|
assert present, f"expected node2 in /admin/v1/peers/relay/on/{shard_id}"
|
||||||
|
node2.stop()
|
||||||
|
node1.stop()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user