mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-09 09:23:10 +00:00
test: valid payloads dynamic(on chain) at spam rate
- extend timeout for ensure_ready() to 600s - add ensure_healthy() for future use - add text content based rest call - remove NODE1, NODE2 imports
This commit is contained in:
parent
027b446202
commit
a034ad6a5b
@ -15,10 +15,19 @@ class REST(BaseClient):
|
||||
headers = {"Content-Type": "application/json"}
|
||||
return self.make_request(method, url, headers=headers, data=payload)
|
||||
|
||||
def rest_call_text(self, method, endpoint, payload=None):
|
||||
url = f"http://127.0.0.1:{self._rest_port}/{endpoint}"
|
||||
headers = {"accept": "text/plain"}
|
||||
return self.make_request(method, url, headers=headers, data=payload)
|
||||
|
||||
def info(self):
|
||||
info_response = self.rest_call("get", "debug/v1/info")
|
||||
return info_response.json()
|
||||
|
||||
def health(self):
|
||||
health_response = self.rest_call_text("get", "health")
|
||||
return health_response.text()
|
||||
|
||||
def get_peers(self):
|
||||
get_peers_response = self.rest_call("get", "admin/v1/peers")
|
||||
return get_peers_response.json()
|
||||
|
||||
@ -186,11 +186,16 @@ class WakuNode:
|
||||
logger.debug(f"Unpause container with id {self._container.short_id}")
|
||||
self._container.unpause()
|
||||
|
||||
@retry(stop=stop_after_delay(10), wait=wait_fixed(0.1), reraise=True)
|
||||
@retry(stop=stop_after_delay(600), wait=wait_fixed(1), reraise=True)
|
||||
def ensure_ready(self):
|
||||
self.info_response = self.info()
|
||||
logger.info("REST service is ready !!")
|
||||
|
||||
@retry(stop=stop_after_delay(600), wait=wait_fixed(1), reraise=True)
|
||||
def ensure_healthy(self):
|
||||
self.health_response = self.health()
|
||||
logger.info("Node is healthy !!")
|
||||
|
||||
def get_enr_uri(self):
|
||||
try:
|
||||
return self.info_response["enrUri"]
|
||||
@ -210,6 +215,9 @@ class WakuNode:
|
||||
def info(self):
|
||||
return self._api.info()
|
||||
|
||||
def health(self):
|
||||
return self._api.health()
|
||||
|
||||
def get_peers(self):
|
||||
return self._api.get_peers()
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
from src.env_vars import DEFAULT_NWAKU, RLN_CREDENTIALS, NODEKEY, NODE_1, NODE_2
|
||||
from src.env_vars import DEFAULT_NWAKU, RLN_CREDENTIALS, NODEKEY
|
||||
from src.libs.common import gen_step_id, to_base64
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
import os
|
||||
|
||||
@ -105,7 +105,7 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
failed_payloads.append(payload["description"])
|
||||
assert not failed_payloads, f"Payloads failed: {failed_payloads}"
|
||||
|
||||
@pytest.mark.skip(reason="pending on https://github.com/waku-org/nwaku/issues/2606")
|
||||
@pytest.mark.timeout(600)
|
||||
def test_publish_with_valid_payloads_dynamic_at_slow_rate(self):
|
||||
self.setup_first_rln_relay_node(rln_relay_dynamic="true")
|
||||
self.setup_second_rln_relay_node(rln_relay_dynamic="true")
|
||||
@ -121,3 +121,22 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
failed_payloads.append(payload["description"])
|
||||
delay(1)
|
||||
assert not failed_payloads, f"Payloads failed: {failed_payloads}"
|
||||
|
||||
@pytest.mark.timeout(600)
|
||||
def test_publish_with_valid_payloads_dynamic_at_spam_rate(self):
|
||||
self.setup_first_rln_relay_node(rln_relay_dynamic="true")
|
||||
self.setup_second_rln_relay_node(rln_relay_dynamic="true")
|
||||
self.subscribe_main_relay_nodes()
|
||||
previous = math.trunc(time())
|
||||
for i, payload in enumerate(SAMPLE_INPUTS[:4]):
|
||||
logger.debug(f'Running test with payload {payload["description"]}')
|
||||
message = self.create_message(payload=to_base64(payload["value"]))
|
||||
try:
|
||||
now = math.trunc(time())
|
||||
self.publish_message(message)
|
||||
if i > 0 and (now - previous) == 0:
|
||||
raise AssertionError("Publish with RLN enabled at spam rate worked!!!")
|
||||
else:
|
||||
previous = now
|
||||
except Exception as e:
|
||||
assert "RLN validation failed" in str(e)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user