mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-11 02:13:07 +00:00
fix: use send only publish function
- add spam and alternate rate tests
This commit is contained in:
parent
2175c77448
commit
ab37b02d78
@ -1,12 +1,12 @@
|
||||
from src.env_vars import DEFAULT_NWAKU, RLN_CREDENTIALS, NODEKEY
|
||||
from src.libs.common import gen_step_id
|
||||
from src.libs.common import gen_step_id, to_base64
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
import os
|
||||
import inspect
|
||||
import pytest
|
||||
import allure
|
||||
from time import time
|
||||
from src.node.waku_node import WakuNode, rln_credential_store_ready
|
||||
from tenacity import retry, stop_after_delay, wait_fixed
|
||||
from src.test_data import PUBSUB_TOPICS_RLN
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
@ -16,7 +16,7 @@ class StepsRLN:
|
||||
test_pubsub_topic = PUBSUB_TOPICS_RLN[0]
|
||||
test_content_topic = "/test/1/waku-rln-relay/proto"
|
||||
test_payload = "RLN relay works!!"
|
||||
|
||||
epoch_time = 1 # seconds
|
||||
main_nodes = []
|
||||
optional_nodes = []
|
||||
|
||||
@ -58,3 +58,19 @@ class StepsRLN:
|
||||
except Exception as ex:
|
||||
logger.error(f"Credentials at {creds_file_path} not available: {ex}")
|
||||
raise
|
||||
|
||||
@allure.step
|
||||
def create_message(self, **kwargs):
|
||||
message = {"payload": to_base64(self.test_payload), "contentTopic": self.test_content_topic, "timestamp": int(time() * 1e9)}
|
||||
message.update(kwargs)
|
||||
return message
|
||||
|
||||
def publish_message(self, message=None, pubsub_topic=None, sender=None):
|
||||
if message is None:
|
||||
message = self.create_message()
|
||||
if pubsub_topic is None:
|
||||
pubsub_topic = self.test_pubsub_topic
|
||||
if not sender:
|
||||
sender = self.node1
|
||||
|
||||
sender.send_relay_message(message, pubsub_topic)
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
import math
|
||||
from time import time
|
||||
|
||||
import pytest
|
||||
|
||||
from src.libs.common import delay, to_base64
|
||||
@ -17,7 +20,7 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
logger.debug(f'Running test with payload {payload["description"]}')
|
||||
message = self.create_message(payload=to_base64(payload["value"]))
|
||||
try:
|
||||
self.check_published_message_reaches_relay_peer(message)
|
||||
self.publish_message(message)
|
||||
except Exception as e:
|
||||
logger.error(f'Payload {payload["description"]} failed: {str(e)}')
|
||||
failed_payloads.append(payload["description"])
|
||||
@ -25,12 +28,34 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
assert not failed_payloads, f"Payloads failed: {failed_payloads}"
|
||||
|
||||
def test_publish_with_valid_payloads_at_spam_rate(self):
|
||||
for i, payload in enumerate(SAMPLE_INPUTS[:2]):
|
||||
previous = int(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:
|
||||
self.check_published_message_reaches_relay_peer(message)
|
||||
if i > 0:
|
||||
now = int(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)
|
||||
|
||||
def test_publish_with_valid_payloads_at_alternate_rate(self):
|
||||
previous = math.trunc(time())
|
||||
for i, payload in enumerate(SAMPLE_INPUTS):
|
||||
logger.debug(f'Running test with payload {payload["description"]}')
|
||||
message = self.create_message(payload=to_base64(payload["value"]))
|
||||
try:
|
||||
if (i + 1) % 2 == 1: # every odd sample should be sent slowly
|
||||
delay(1)
|
||||
now = math.trunc(time())
|
||||
logger.debug(f"Message sent at timestamp {now}")
|
||||
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