mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-02 14:03:08 +00:00
Add debug / admin tests
This commit is contained in:
parent
3c3118ea80
commit
60a919e461
@ -175,3 +175,12 @@ class REST(BaseClient):
|
||||
|
||||
def get_filter_subscriptions(self):
|
||||
return self.rest_call("get", "admin/v1/filter/subscriptions").json()
|
||||
|
||||
def get_info(self):
|
||||
return self.rest_call("get", "info").json()
|
||||
|
||||
def get_version(self):
|
||||
return self.rest_call("get", "version").text.strip()
|
||||
|
||||
def get_debug_version(self):
|
||||
return self.rest_call("get", "debug/v1/version").text.strip()
|
||||
|
||||
@ -564,3 +564,12 @@ class WakuNode:
|
||||
|
||||
def get_filter_subscriptions(self):
|
||||
return self._api.get_filter_subscriptions()
|
||||
|
||||
def get_info(self):
|
||||
return self._api.get_info()
|
||||
|
||||
def get_version(self):
|
||||
return self._api.get_version()
|
||||
|
||||
def get_debug_version(self):
|
||||
return self._api.get_debug_version()
|
||||
|
||||
0
tests/rest_flags/__init__.py
Normal file
0
tests/rest_flags/__init__.py
Normal file
44
tests/rest_flags/admin_flags.py
Normal file
44
tests/rest_flags/admin_flags.py
Normal file
@ -0,0 +1,44 @@
|
||||
import pytest
|
||||
from src.env_vars import NODE_1, NODE_2, STRESS_ENABLED
|
||||
from src.libs.common import delay
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.node.waku_node import WakuNode
|
||||
from src.steps.filter import StepsFilter
|
||||
from src.steps.light_push import StepsLightPush
|
||||
from src.steps.relay import StepsRelay
|
||||
from src.steps.store import StepsStore
|
||||
import re
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
"""
|
||||
These tests make sure thst REST flags related to admin flags acting as expected
|
||||
"""
|
||||
|
||||
|
||||
class TestE2E(StepsFilter, StepsStore, StepsRelay, StepsLightPush):
|
||||
@pytest.fixture(scope="function", autouse=True)
|
||||
def nodes(self):
|
||||
self.node1 = WakuNode(NODE_2, f"node1_{self.test_id}")
|
||||
self.node2 = WakuNode(NODE_2, f"node2_{self.test_id}")
|
||||
|
||||
def test_admin_filter_subscriptions_shape(self):
|
||||
self.node1.start(filter="true", relay="true")
|
||||
self.node2.start(relay="false", filternode=self.node1.get_multiaddr_with_id(), discv5_bootstrap_node=self.node1.get_enr_uri())
|
||||
resp = self.node2.set_filter_subscriptions(
|
||||
{"requestId": "1", "contentFilters": [self.test_content_topic], "pubsubTopic": self.test_pubsub_topic}
|
||||
)
|
||||
subs = self.node1.get_filter_subscriptions()
|
||||
logger.debug(f"Node admin subscriptions info{subs}")
|
||||
assert resp["statusDesc"] == "OK" and resp["requestId"] == "1"
|
||||
logger.debug(f"node 1 peers {self.node1.get_peers()}")
|
||||
assert self.node2.get_multiaddr_with_id().rpartition("/p2p/")[2] == subs[0]["peerId"], "peer id doesn't match"
|
||||
assert subs[0]["filterCriteria"][0]["pubsubTopic"] == self.test_pubsub_topic, "pubsub topic doesn't match"
|
||||
assert subs[0]["filterCriteria"][0]["contentTopic"] == self.test_content_topic, "content topic doesn't match"
|
||||
|
||||
def test_admin_peers_stats_shape(self):
|
||||
self.node1.start(relay="true")
|
||||
self.node2.start(relay="true", discv5_bootstrap_node=self.node1.get_enr_uri())
|
||||
|
||||
stats = self.node1.get_peer_stats()
|
||||
logger.debug(f"Node admin peers stats {stats}")
|
||||
35
tests/rest_flags/debug_flags.py
Normal file
35
tests/rest_flags/debug_flags.py
Normal file
@ -0,0 +1,35 @@
|
||||
import pytest
|
||||
from src.env_vars import NODE_1, NODE_2, STRESS_ENABLED
|
||||
from src.libs.common import delay
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.node.waku_node import WakuNode
|
||||
from src.steps.filter import StepsFilter
|
||||
from src.steps.light_push import StepsLightPush
|
||||
from src.steps.relay import StepsRelay
|
||||
from src.steps.store import StepsStore
|
||||
import re
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
"""
|
||||
These tests make sure thst REST flags related to debug acting as expected
|
||||
"""
|
||||
|
||||
|
||||
class TestE2E(StepsFilter, StepsStore, StepsRelay, StepsLightPush):
|
||||
@pytest.fixture(scope="function", autouse=True)
|
||||
def nodes(self):
|
||||
self.node1 = WakuNode(NODE_2, f"node1_{self.test_id}")
|
||||
|
||||
def test_verify_node_version2(self):
|
||||
self.node1.start(relay="true")
|
||||
node1_version = self.node1.get_version()
|
||||
logger.debug(f"version of created node is {node1_version}")
|
||||
assert re.match(r"^v0\.(3[5-9])(?:[.\-]|$)", node1_version), f"expected v0.35–v0.39, got {node1_version}"
|
||||
|
||||
def test_verify_node_info(self):
|
||||
self.node1.start(relay="true")
|
||||
info = self.node1.get_info()
|
||||
logger.debug(f"node info: {info}")
|
||||
assert info["enrUri"] == self.node1.get_enr_uri(), "node enruri doesn't match"
|
||||
assert self.node1.get_multiaddr_with_id() in info["listenAddresses"], "node address doesn't match"
|
||||
Loading…
x
Reference in New Issue
Block a user