From adff62103862c29514a81544bf2684e5fc8b70bf Mon Sep 17 00:00:00 2001 From: Aya Hassan Date: Sun, 5 Apr 2026 23:26:21 +0200 Subject: [PATCH] basic tests added --- tests/wrappers_tests/conftest.py | 35 +++++++++++++++++++ tests/wrappers_tests/test_basic_life_cycle.py | 35 +++++++++++++++++++ tests/wrappers_tests/unit_test.py | 35 ------------------- 3 files changed, 70 insertions(+), 35 deletions(-) create mode 100644 tests/wrappers_tests/conftest.py create mode 100644 tests/wrappers_tests/test_basic_life_cycle.py delete mode 100644 tests/wrappers_tests/unit_test.py diff --git a/tests/wrappers_tests/conftest.py b/tests/wrappers_tests/conftest.py new file mode 100644 index 000000000..e05fb6989 --- /dev/null +++ b/tests/wrappers_tests/conftest.py @@ -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() diff --git a/tests/wrappers_tests/test_basic_life_cycle.py b/tests/wrappers_tests/test_basic_life_cycle.py new file mode 100644 index 000000000..c66fe7580 --- /dev/null +++ b/tests/wrappers_tests/test_basic_life_cycle.py @@ -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()}" diff --git a/tests/wrappers_tests/unit_test.py b/tests/wrappers_tests/unit_test.py deleted file mode 100644 index 475d9b86c..000000000 --- a/tests/wrappers_tests/unit_test.py +++ /dev/null @@ -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)