mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-09 09:23:10 +00:00
fix: rebase onto master
This commit is contained in:
parent
241397ba16
commit
2175c77448
@ -1,20 +1,17 @@
|
||||
import inspect
|
||||
import os
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from time import time
|
||||
import pytest
|
||||
import allure
|
||||
from src.libs.common import to_base64, delay, gen_step_id
|
||||
from src.libs.common import to_base64, delay
|
||||
from src.node.waku_message import WakuMessage
|
||||
from src.env_vars import (
|
||||
NODE_1,
|
||||
NODE_2,
|
||||
ADDITIONAL_NODES,
|
||||
NODEKEY,
|
||||
DEFAULT_NWAKU,
|
||||
RLN_CREDENTIALS,
|
||||
)
|
||||
from src.node.waku_node import WakuNode, rln_credential_store_ready
|
||||
from src.node.waku_node import WakuNode
|
||||
from tenacity import retry, stop_after_delay, wait_fixed
|
||||
from src.steps.common import StepsCommon
|
||||
from src.test_data import VALID_PUBSUB_TOPICS
|
||||
@ -45,28 +42,6 @@ class StepsRelay(StepsCommon):
|
||||
self.add_node_peer(self.node2, [self.multiaddr_with_id])
|
||||
self.main_nodes.extend([self.node1, self.node2])
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def register_main_rln_relay_nodes(self, request):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{request.cls.test_id}")
|
||||
self.node1.register_rln(rln_creds_source=RLN_CREDENTIALS, rln_creds_id="1")
|
||||
self.node2 = WakuNode(DEFAULT_NWAKU, f"node2_{request.cls.test_id}")
|
||||
self.node2.register_rln(rln_creds_source=RLN_CREDENTIALS, rln_creds_id="2")
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def setup_main_rln_relay_nodes(self, request):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{request.cls.test_id}")
|
||||
self.node1.start(relay="true", nodekey=NODEKEY, rln_creds_source=RLN_CREDENTIALS, rln_creds_id="1", rln_relay_membership_index="1")
|
||||
self.enr_uri = self.node1.get_enr_uri()
|
||||
self.multiaddr_with_id = self.node1.get_multiaddr_with_id()
|
||||
self.node2 = WakuNode(DEFAULT_NWAKU, f"node2_{request.cls.test_id}")
|
||||
self.node2.start(
|
||||
relay="true", discv5_bootstrap_node=self.enr_uri, rln_creds_source=RLN_CREDENTIALS, rln_creds_id="2", rln_relay_membership_index="1"
|
||||
)
|
||||
self.add_node_peer(self.node2, [self.multiaddr_with_id])
|
||||
self.main_nodes.extend([self.node1, self.node2])
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def setup_optional_relay_nodes(self, request):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
@ -156,19 +131,3 @@ class StepsRelay(StepsCommon):
|
||||
def subscribe_and_publish_with_retry(self, node_list, pubsub_topic_list):
|
||||
self.ensure_relay_subscriptions_on_nodes(node_list, pubsub_topic_list)
|
||||
self.check_published_message_reaches_relay_peer()
|
||||
|
||||
@allure.step
|
||||
def register_rln_single_node(self, **kwargs):
|
||||
logger.debug("Registering RLN credentials for single node")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{gen_step_id()}")
|
||||
self.node1.register_rln(rln_creds_source=kwargs["rln_creds_source"], rln_creds_id=kwargs["rln_creds_id"])
|
||||
|
||||
@allure.step
|
||||
def check_rln_registration(self, key_id):
|
||||
current_working_directory = os.getcwd()
|
||||
creds_file_path = f"{current_working_directory}/keystore_{key_id}/keystore.json"
|
||||
try:
|
||||
rln_credential_store_ready(creds_file_path)
|
||||
except Exception as ex:
|
||||
logger.error(f"Credentials at {creds_file_path} not available: {ex}")
|
||||
raise
|
||||
|
||||
60
src/steps/rln.py
Normal file
60
src/steps/rln.py
Normal file
@ -0,0 +1,60 @@
|
||||
from src.env_vars import DEFAULT_NWAKU, RLN_CREDENTIALS, NODEKEY
|
||||
from src.libs.common import gen_step_id
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
import os
|
||||
import inspect
|
||||
import pytest
|
||||
import allure
|
||||
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__)
|
||||
|
||||
|
||||
class StepsRLN:
|
||||
test_pubsub_topic = PUBSUB_TOPICS_RLN[0]
|
||||
test_content_topic = "/test/1/waku-rln-relay/proto"
|
||||
test_payload = "RLN relay works!!"
|
||||
|
||||
main_nodes = []
|
||||
optional_nodes = []
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def register_main_rln_relay_nodes(self, request):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{request.cls.test_id}")
|
||||
self.node1.register_rln(rln_creds_source=RLN_CREDENTIALS, rln_creds_id="1")
|
||||
self.node2 = WakuNode(DEFAULT_NWAKU, f"node2_{request.cls.test_id}")
|
||||
self.node2.register_rln(rln_creds_source=RLN_CREDENTIALS, rln_creds_id="2")
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
def setup_main_rln_relay_nodes(self, request):
|
||||
logger.debug(f"Running fixture setup: {inspect.currentframe().f_code.co_name}")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{request.cls.test_id}")
|
||||
self.node1.start(relay="true", nodekey=NODEKEY, rln_creds_source=RLN_CREDENTIALS, rln_creds_id="1", rln_relay_membership_index="1")
|
||||
self.enr_uri = self.node1.get_enr_uri()
|
||||
self.multiaddr_with_id = self.node1.get_multiaddr_with_id()
|
||||
self.node2 = WakuNode(DEFAULT_NWAKU, f"node2_{request.cls.test_id}")
|
||||
self.node2.start(
|
||||
relay="true", discv5_bootstrap_node=self.enr_uri, rln_creds_source=RLN_CREDENTIALS, rln_creds_id="2", rln_relay_membership_index="1"
|
||||
)
|
||||
if self.node2.is_nwaku():
|
||||
self.node2.add_peers([self.multiaddr_with_id])
|
||||
self.main_nodes.extend([self.node1, self.node2])
|
||||
|
||||
@allure.step
|
||||
def register_rln_single_node(self, **kwargs):
|
||||
logger.debug("Registering RLN credentials for single node")
|
||||
self.node1 = WakuNode(DEFAULT_NWAKU, f"node1_{gen_step_id()}")
|
||||
self.node1.register_rln(rln_creds_source=kwargs["rln_creds_source"], rln_creds_id=kwargs["rln_creds_id"])
|
||||
|
||||
@allure.step
|
||||
def check_rln_registration(self, key_id):
|
||||
current_working_directory = os.getcwd()
|
||||
creds_file_path = f"{current_working_directory}/keystore_{key_id}/keystore.json"
|
||||
try:
|
||||
rln_credential_store_ready(creds_file_path)
|
||||
except Exception as ex:
|
||||
logger.error(f"Credentials at {creds_file_path} not available: {ex}")
|
||||
raise
|
||||
@ -1,19 +1,16 @@
|
||||
import os
|
||||
import pytest
|
||||
|
||||
from src.env_vars import RLN_CREDENTIALS
|
||||
from src.libs.common import delay, to_base64
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.steps.relay import StepsRelay
|
||||
from src.test_data import SAMPLE_INPUTS, PUBSUB_TOPICS_RLN
|
||||
from src.steps.rln import StepsRLN
|
||||
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")
|
||||
class TestRelayRLN(StepsRelay):
|
||||
test_pubsub_topic = PUBSUB_TOPICS_RLN[0]
|
||||
|
||||
class TestRelayRLN(StepsRLN, StepsRelay):
|
||||
def test_publish_with_valid_payloads_at_slow_rate(self):
|
||||
failed_payloads = []
|
||||
for payload in SAMPLE_INPUTS[:5]:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user