basic tests added

This commit is contained in:
Aya Hassan 2026-04-05 23:26:21 +02:00
parent 8687bf4107
commit adff621038
3 changed files with 70 additions and 35 deletions

View File

@ -0,0 +1,35 @@
import socket
import pytest
from src.test_data import DEFAULT_CLUSTER_ID
def _free_port():
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind(("", 0))
return s.getsockname()[1]
def build_node_config(**overrides):
config = {
"logLevel": "DEBUG",
"mode": "Core",
"listenAddress": "0.0.0.0",
"tcpPort": _free_port(),
"udpPort": _free_port(),
"restPort": _free_port(),
"restAddress": "0.0.0.0",
"clusterId": DEFAULT_CLUSTER_ID,
"relay": False,
"store": False,
"filter": False,
"lightpush": False,
"peerExchange": False,
"discv5Discovery": False,
}
config.update(overrides)
return config
@pytest.fixture
def node_config():
return build_node_config()

View File

@ -0,0 +1,35 @@
import pytest
from src.node.wrappers_manager import WrapperManager
@pytest.mark.smoke
class TestLogosDeliveryLifecycle:
def test_create_and_start_node(self, node_config):
result = WrapperManager.create_and_start(config=node_config)
assert result.is_ok(), f"Failed to create and start node: {result.err()}"
node = result.ok_value
stop_result = node.stop_and_destroy()
assert stop_result.is_ok(), f"Failed to stop and destroy node: {stop_result.err()}"
def test_create_node_without_starting(self, node_config):
result = WrapperManager.create(config=node_config)
assert result.is_ok(), f"Failed to create node: {result.err()}"
node = result.ok_value
start_result = node.start_node()
assert start_result.is_ok(), f"Failed to start node: {start_result.err()}"
stop_result = node.stop_and_destroy()
assert stop_result.is_ok(), f"Failed to stop and destroy node: {stop_result.err()}"
def test_stop_node_without_destroy(self, node_config):
result = WrapperManager.create_and_start(config=node_config)
assert result.is_ok(), f"Failed to create and start node: {result.err()}"
node = result.ok_value
stop_result = node.stop_node()
assert stop_result.is_ok(), f"Failed to stop node: {stop_result.err()}"
destroy_result = node.destroy()
assert destroy_result.is_ok(), f"Failed to destroy node: {destroy_result.err()}"

View File

@ -1,35 +0,0 @@
import inspect
import pytest
from result import Ok
from src.libs.custom_logger import get_custom_logger
from src.steps.wrappers_setup import NodeStub
from src.node import wrappers_manager
# from wrapper_setup import NodeWrapper
logger = get_custom_logger(__name__)
class TestWrappersManager:
@pytest.fixture(scope="function", autouse=True)
def wrapper_setup(self):
logger.debug(f"Running setup")
self.node = NodeForTest()
def test_wrapper_send_message(self):
message = {
"contentTopic": "/test/1/chat/proto",
"payload": "SGVsbG8=",
"ephemeral": False,
}
result = wrappers_manager.wrapper_send_message(self.node, message, timeout_s=5.0)
assert result == Ok(1)
assert self.node.last_message == message
assert self.node.last_timeout == 5.0
def test_wrapper_get_available_node_info_ids(self):
result = wrappers_manager.wrapper_get_available_node_info_ids(self.node, timeout_s=6.0)
assert result == Ok(2)