mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-01-10 09:53:12 +00:00
33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
|
|
import logging
|
||
|
|
from time import sleep
|
||
|
|
import pytest
|
||
|
|
from src.env_vars import NODE_1, NODE_2
|
||
|
|
from src.node.waku_node import WakuNode
|
||
|
|
from tenacity import retry, stop_after_delay, wait_fixed
|
||
|
|
|
||
|
|
logger = logging.getLogger(__name__)
|
||
|
|
|
||
|
|
|
||
|
|
class StepsRelay:
|
||
|
|
@pytest.fixture(scope="function", autouse=True)
|
||
|
|
def setup_nodes(self):
|
||
|
|
self.node1 = WakuNode(NODE_1)
|
||
|
|
self.node1.start(relay="true", discv5_discovery="true", peer_exchange="true")
|
||
|
|
enr_uri = self.node1.info()["result"]["enrUri"]
|
||
|
|
self.node2 = WakuNode(NODE_2)
|
||
|
|
self.node2.start(relay="true", discv5_discovery="true", discv5_bootstrap_node=enr_uri, peer_exchange="true")
|
||
|
|
self.node1.set_subscriptions()
|
||
|
|
self.node2.set_subscriptions()
|
||
|
|
self.default_content_topic = "/test/1/waku-relay"
|
||
|
|
self.default_payload = "Relay works!!"
|
||
|
|
|
||
|
|
@retry(stop=stop_after_delay(5), wait=wait_fixed(0.1), reraise=True)
|
||
|
|
def check_published_message_reaches_peer(self, message):
|
||
|
|
self.node1.send_message(message)
|
||
|
|
sleep(0.1)
|
||
|
|
get_messages_response = self.node2.get_messages()
|
||
|
|
logger.debug("Got reponse from remote peer %s", get_messages_response)
|
||
|
|
assert get_messages_response["result"][0]["payload"] == message.payload
|
||
|
|
assert get_messages_response["result"][0]["contentTopic"] == message.contentTopic
|
||
|
|
assert get_messages_response["result"][0]["timestamp"] == message.timestamp
|