mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-09 09:23:10 +00:00
fix: rewrite tests using steps rather than fixtures
- prepare for non default settings for RLN
This commit is contained in:
parent
06bd935690
commit
43f36c8da7
@ -44,7 +44,7 @@ class StepsRLN:
|
||||
self.main_nodes.extend([self.node1, self.node2])
|
||||
|
||||
@allure.step
|
||||
def setup_first_non_default_rln_relay_node(self, **kwargs):
|
||||
def setup_first_rln_relay_node(self, **kwargs):
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{self.test_id}")
|
||||
self.node1.start(relay="true", nodekey=NODEKEY, rln_creds_source=RLN_CREDENTIALS, rln_creds_id="1", rln_relay_membership_index="1", **kwargs)
|
||||
self.enr_uri = self.node1.get_enr_uri()
|
||||
@ -52,7 +52,7 @@ class StepsRLN:
|
||||
self.main_nodes.extend([self.node1])
|
||||
|
||||
@allure.step
|
||||
def setup_second_non_default_rln_relay_node(self, **kwargs):
|
||||
def setup_second_rln_relay_node(self, **kwargs):
|
||||
self.node2 = WakuNode(DEFAULT_NWAKU, f"node2_{self.test_id}")
|
||||
self.node2.start(
|
||||
relay="true",
|
||||
@ -98,3 +98,13 @@ class StepsRLN:
|
||||
sender = self.node1
|
||||
|
||||
sender.send_relay_message(message, pubsub_topic)
|
||||
|
||||
@allure.step
|
||||
def ensure_relay_subscriptions_on_nodes(self, node_list, pubsub_topic_list):
|
||||
for node in node_list:
|
||||
node.set_relay_subscriptions(pubsub_topic_list)
|
||||
|
||||
@allure.step
|
||||
def subscribe_main_relay_nodes(self):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
self.ensure_relay_subscriptions_on_nodes(self.main_nodes, [self.test_pubsub_topic])
|
||||
|
||||
@ -12,9 +12,12 @@ from src.test_data import SAMPLE_INPUTS
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures("register_main_rln_relay_nodes", "setup_main_rln_relay_nodes", "subscribe_main_relay_nodes")
|
||||
@pytest.mark.usefixtures("register_main_rln_relay_nodes")
|
||||
class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
def test_publish_with_valid_payloads_at_slow_rate(self):
|
||||
self.setup_first_rln_relay_node()
|
||||
self.setup_second_rln_relay_node()
|
||||
self.subscribe_main_relay_nodes()
|
||||
failed_payloads = []
|
||||
for payload in SAMPLE_INPUTS[:5]:
|
||||
logger.debug(f'Running test with payload {payload["description"]}')
|
||||
@ -24,10 +27,13 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
except Exception as e:
|
||||
logger.error(f'Payload {payload["description"]} failed: {str(e)}')
|
||||
failed_payloads.append(payload["description"])
|
||||
delay(self.epoch_time)
|
||||
delay(1)
|
||||
assert not failed_payloads, f"Payloads failed: {failed_payloads}"
|
||||
|
||||
def test_publish_with_valid_payloads_at_spam_rate(self):
|
||||
self.setup_first_rln_relay_node()
|
||||
self.setup_second_rln_relay_node()
|
||||
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"]}')
|
||||
@ -43,13 +49,16 @@ class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
assert "RLN validation failed" in str(e)
|
||||
|
||||
def test_publish_with_valid_payloads_at_variable_rate(self):
|
||||
self.setup_first_rln_relay_node()
|
||||
self.setup_second_rln_relay_node()
|
||||
self.subscribe_main_relay_nodes()
|
||||
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 % 2 == 1: # every sample with odd index is sent slowly
|
||||
delay(self.epoch_time + 1)
|
||||
delay(1 + 1)
|
||||
now = math.trunc(time())
|
||||
logger.debug(f"Message sent at timestamp {now}")
|
||||
self.publish_message(message)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user