mirror of
https://github.com/logos-messaging/logos-messaging-interop-tests.git
synced 2026-04-09 21:33:24 +00:00
basic tests added
This commit is contained in:
parent
8687bf4107
commit
adff621038
35
tests/wrappers_tests/conftest.py
Normal file
35
tests/wrappers_tests/conftest.py
Normal 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()
|
||||
35
tests/wrappers_tests/test_basic_life_cycle.py
Normal file
35
tests/wrappers_tests/test_basic_life_cycle.py
Normal 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()}"
|
||||
@ -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)
|
||||
Loading…
x
Reference in New Issue
Block a user