mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-03-19 11:03:18 +00:00
test: restart survival with persistent peer store
This commit is contained in:
parent
96993f1555
commit
909274d7b0
@ -106,6 +106,11 @@ class WakuNode:
|
||||
else:
|
||||
remove_container = True
|
||||
|
||||
if kwargs.get("peer_persistence") == "true":
|
||||
if self.is_gowaku():
|
||||
kwargs["persist_peers"] = kwargs["peer_persistence"]
|
||||
del kwargs["peer_persistence"]
|
||||
|
||||
default_args.update(sanitize_docker_flags(kwargs))
|
||||
|
||||
rln_args, rln_creds_set, keystore_path = self.parse_rln_credentials(default_args, False)
|
||||
|
||||
54
src/steps/peer_store.py
Normal file
54
src/steps/peer_store.py
Normal file
@ -0,0 +1,54 @@
|
||||
import os
|
||||
import inspect
|
||||
import pytest
|
||||
import allure
|
||||
|
||||
from src.node.waku_message import WakuMessage
|
||||
from src.steps.common import StepsCommon
|
||||
from src.test_data import PUBSUB_TOPICS_RLN, VALID_PUBSUB_TOPICS
|
||||
from src.env_vars import DEFAULT_NWAKU, RLN_CREDENTIALS, NODEKEY, NODE_1, NODE_2, ADDITIONAL_NODES
|
||||
from src.libs.common import gen_step_id, delay
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.node.waku_node import WakuNode, rln_credential_store_ready
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
|
||||
class StepsPeerStore(StepsCommon):
|
||||
test_pubsub_topic = VALID_PUBSUB_TOPICS[0]
|
||||
test_content_topic = "/test/1/waku-relay/proto"
|
||||
test_payload = "Relay works!!"
|
||||
|
||||
main_nodes = []
|
||||
optional_nodes = []
|
||||
multiaddr_list = []
|
||||
|
||||
@allure.step
|
||||
def setup_first_relay_node(self, **kwargs):
|
||||
self.node1 = WakuNode(NODE_1, f"node1_{self.test_id}")
|
||||
self.node1.start(relay="true", nodekey=NODEKEY, **kwargs)
|
||||
self.enr_uri = self.node1.get_enr_uri()
|
||||
self.multiaddr_with_id = self.node1.get_multiaddr_with_id()
|
||||
self.main_nodes.extend([self.node1])
|
||||
|
||||
@allure.step
|
||||
def setup_second_relay_node(self, **kwargs):
|
||||
self.node2 = WakuNode(NODE_2, f"node2_{self.test_id}")
|
||||
self.node2.start(
|
||||
relay="true",
|
||||
discv5_bootstrap_node=self.enr_uri,
|
||||
**kwargs,
|
||||
)
|
||||
self.add_node_peer(self.node2, [self.multiaddr_with_id])
|
||||
self.main_nodes.extend([self.node2])
|
||||
|
||||
@allure.step
|
||||
def setup_third_relay_node(self, **kwargs):
|
||||
self.node3 = WakuNode(NODE_1, f"node2_{self.test_id}")
|
||||
self.node3.start(
|
||||
relay="true",
|
||||
discv5_bootstrap_node=self.enr_uri,
|
||||
**kwargs,
|
||||
)
|
||||
self.add_node_peer(self.node3, [self.multiaddr_with_id])
|
||||
self.main_nodes.extend([self.node3])
|
||||
@ -1,14 +1,15 @@
|
||||
import pytest
|
||||
|
||||
from src.libs.common import peer_info2id, peer_info2multiaddr, multiaddr2id
|
||||
from src.libs.common import peer_info2id, peer_info2multiaddr, multiaddr2id, delay
|
||||
from src.libs.custom_logger import get_custom_logger
|
||||
from src.steps.peer_store import StepsPeerStore
|
||||
from src.steps.relay import StepsRelay
|
||||
from src.steps.store import StepsStore
|
||||
|
||||
logger = get_custom_logger(__name__)
|
||||
|
||||
|
||||
class TestPeerStore(StepsRelay, StepsStore):
|
||||
class TestPeerStore(StepsPeerStore, StepsRelay, StepsStore):
|
||||
@pytest.mark.usefixtures("setup_main_relay_nodes", "setup_optional_relay_nodes")
|
||||
def test_get_peers(self):
|
||||
nodes = [self.node1, self.node2]
|
||||
@ -64,3 +65,8 @@ class TestPeerStore(StepsRelay, StepsStore):
|
||||
logger.debug(f"Node 2 connected peers {node2_peers}")
|
||||
|
||||
assert len(node1_peers) == 2 and len(node2_peers) == 2, f"Some nodes and/or their services are missing"
|
||||
|
||||
@pytest.mark.skip(reason="failed to store peers")
|
||||
def test_use_persistent_storage_survive_restart(self):
|
||||
self.setup_first_relay_node(peer_persistence="true")
|
||||
self.setup_second_relay_node()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user