mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-22 03:31:02 +02:00
Gateway tests
This commit is contained in:
parent
4e71679e5a
commit
6ecaca88e0
3 changed files with 34 additions and 18 deletions
|
|
@ -74,7 +74,9 @@ class TestServiceRequestor:
|
||||||
"""Test ServiceRequestor start method"""
|
"""Test ServiceRequestor start method"""
|
||||||
mock_pulsar_client = MagicMock()
|
mock_pulsar_client = MagicMock()
|
||||||
mock_sub_instance = AsyncMock()
|
mock_sub_instance = AsyncMock()
|
||||||
|
mock_pub_instance = AsyncMock()
|
||||||
mock_subscriber.return_value = mock_sub_instance
|
mock_subscriber.return_value = mock_sub_instance
|
||||||
|
mock_publisher.return_value = mock_pub_instance
|
||||||
|
|
||||||
requestor = ServiceRequestor(
|
requestor = ServiceRequestor(
|
||||||
pulsar_client=mock_pulsar_client,
|
pulsar_client=mock_pulsar_client,
|
||||||
|
|
@ -87,8 +89,9 @@ class TestServiceRequestor:
|
||||||
# Call start
|
# Call start
|
||||||
await requestor.start()
|
await requestor.start()
|
||||||
|
|
||||||
# Verify subscriber start was called
|
# Verify both subscriber and publisher start were called
|
||||||
mock_sub_instance.start.assert_called_once()
|
mock_sub_instance.start.assert_called_once()
|
||||||
|
mock_pub_instance.start.assert_called_once()
|
||||||
assert requestor.running is True
|
assert requestor.running is True
|
||||||
|
|
||||||
@patch('trustgraph.gateway.dispatch.requestor.Publisher')
|
@patch('trustgraph.gateway.dispatch.requestor.Publisher')
|
||||||
|
|
@ -96,8 +99,8 @@ class TestServiceRequestor:
|
||||||
def test_service_requestor_attributes(self, mock_subscriber, mock_publisher):
|
def test_service_requestor_attributes(self, mock_subscriber, mock_publisher):
|
||||||
"""Test ServiceRequestor has correct attributes"""
|
"""Test ServiceRequestor has correct attributes"""
|
||||||
mock_pulsar_client = MagicMock()
|
mock_pulsar_client = MagicMock()
|
||||||
mock_pub_instance = MagicMock()
|
mock_pub_instance = AsyncMock()
|
||||||
mock_sub_instance = MagicMock()
|
mock_sub_instance = AsyncMock()
|
||||||
mock_publisher.return_value = mock_pub_instance
|
mock_publisher.return_value = mock_pub_instance
|
||||||
mock_subscriber.return_value = mock_sub_instance
|
mock_subscriber.return_value = mock_sub_instance
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,8 @@ class TestEndpointManager:
|
||||||
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_stream.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_core_import.return_value = MagicMock()
|
||||||
|
mock_dispatcher_manager.dispatch_core_export.return_value = MagicMock()
|
||||||
|
|
||||||
manager = EndpointManager(
|
manager = EndpointManager(
|
||||||
dispatcher_manager=mock_dispatcher_manager,
|
dispatcher_manager=mock_dispatcher_manager,
|
||||||
|
|
@ -47,7 +48,8 @@ class TestEndpointManager:
|
||||||
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_stream.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_core_import.return_value = MagicMock()
|
||||||
|
mock_dispatcher_manager.dispatch_core_export.return_value = MagicMock()
|
||||||
|
|
||||||
manager = EndpointManager(
|
manager = EndpointManager(
|
||||||
dispatcher_manager=mock_dispatcher_manager,
|
dispatcher_manager=mock_dispatcher_manager,
|
||||||
|
|
@ -62,13 +64,14 @@ class TestEndpointManager:
|
||||||
mock_dispatcher_manager = MagicMock()
|
mock_dispatcher_manager = MagicMock()
|
||||||
mock_auth = MagicMock()
|
mock_auth = MagicMock()
|
||||||
|
|
||||||
# Mock dispatcher methods
|
# Mock dispatcher methods that are actually called
|
||||||
mock_dispatcher_manager.dispatch_global_service.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_global_service.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_socket.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_socket.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_service.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_import.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_flow_export.return_value = MagicMock()
|
||||||
mock_dispatcher_manager.dispatch_flow_stream.return_value = MagicMock()
|
mock_dispatcher_manager.dispatch_core_import.return_value = MagicMock()
|
||||||
|
mock_dispatcher_manager.dispatch_core_export.return_value = MagicMock()
|
||||||
|
|
||||||
EndpointManager(
|
EndpointManager(
|
||||||
dispatcher_manager=mock_dispatcher_manager,
|
dispatcher_manager=mock_dispatcher_manager,
|
||||||
|
|
@ -78,8 +81,9 @@ class TestEndpointManager:
|
||||||
|
|
||||||
# Verify all dispatcher methods were called during initialization
|
# Verify all dispatcher methods were called during initialization
|
||||||
mock_dispatcher_manager.dispatch_global_service.assert_called_once()
|
mock_dispatcher_manager.dispatch_global_service.assert_called_once()
|
||||||
mock_dispatcher_manager.dispatch_socket.assert_called()
|
mock_dispatcher_manager.dispatch_socket.assert_called() # Called twice
|
||||||
mock_dispatcher_manager.dispatch_flow_service.assert_called_once()
|
mock_dispatcher_manager.dispatch_flow_service.assert_called_once()
|
||||||
mock_dispatcher_manager.dispatch_flow_import.assert_called()
|
mock_dispatcher_manager.dispatch_flow_import.assert_called_once()
|
||||||
mock_dispatcher_manager.dispatch_flow_export.assert_called()
|
mock_dispatcher_manager.dispatch_flow_export.assert_called_once()
|
||||||
mock_dispatcher_manager.dispatch_flow_stream.assert_called()
|
mock_dispatcher_manager.dispatch_core_import.assert_called_once()
|
||||||
|
mock_dispatcher_manager.dispatch_core_export.assert_called_once()
|
||||||
|
|
@ -61,8 +61,8 @@ class TestSocketEndpoint:
|
||||||
async def async_iter():
|
async def async_iter():
|
||||||
yield mock_msg
|
yield mock_msg
|
||||||
|
|
||||||
mock_ws = MagicMock()
|
mock_ws = AsyncMock()
|
||||||
mock_ws.__aiter__ = lambda: async_iter()
|
mock_ws.__aiter__ = lambda self: async_iter()
|
||||||
mock_running = MagicMock()
|
mock_running = MagicMock()
|
||||||
|
|
||||||
# Call listener method
|
# Call listener method
|
||||||
|
|
@ -70,6 +70,9 @@ class TestSocketEndpoint:
|
||||||
|
|
||||||
# Verify dispatcher.receive was called with the message
|
# Verify dispatcher.receive was called with the message
|
||||||
mock_dispatcher.receive.assert_called_once_with(mock_msg)
|
mock_dispatcher.receive.assert_called_once_with(mock_msg)
|
||||||
|
# Verify cleanup methods were called
|
||||||
|
mock_running.stop.assert_called_once()
|
||||||
|
mock_ws.close.assert_called_once()
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_listener_method_with_binary_message(self):
|
async def test_listener_method_with_binary_message(self):
|
||||||
|
|
@ -87,8 +90,8 @@ class TestSocketEndpoint:
|
||||||
async def async_iter():
|
async def async_iter():
|
||||||
yield mock_msg
|
yield mock_msg
|
||||||
|
|
||||||
mock_ws = MagicMock()
|
mock_ws = AsyncMock()
|
||||||
mock_ws.__aiter__ = lambda: async_iter()
|
mock_ws.__aiter__ = lambda self: async_iter()
|
||||||
mock_running = MagicMock()
|
mock_running = MagicMock()
|
||||||
|
|
||||||
# Call listener method
|
# Call listener method
|
||||||
|
|
@ -96,6 +99,9 @@ class TestSocketEndpoint:
|
||||||
|
|
||||||
# Verify dispatcher.receive was called with the message
|
# Verify dispatcher.receive was called with the message
|
||||||
mock_dispatcher.receive.assert_called_once_with(mock_msg)
|
mock_dispatcher.receive.assert_called_once_with(mock_msg)
|
||||||
|
# Verify cleanup methods were called
|
||||||
|
mock_running.stop.assert_called_once()
|
||||||
|
mock_ws.close.assert_called_once()
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
async def test_listener_method_with_close_message(self):
|
async def test_listener_method_with_close_message(self):
|
||||||
|
|
@ -113,12 +119,15 @@ class TestSocketEndpoint:
|
||||||
async def async_iter():
|
async def async_iter():
|
||||||
yield mock_msg
|
yield mock_msg
|
||||||
|
|
||||||
mock_ws = MagicMock()
|
mock_ws = AsyncMock()
|
||||||
mock_ws.__aiter__ = lambda: async_iter()
|
mock_ws.__aiter__ = lambda self: async_iter()
|
||||||
mock_running = MagicMock()
|
mock_running = MagicMock()
|
||||||
|
|
||||||
# Call listener method
|
# Call listener method
|
||||||
await endpoint.listener(mock_ws, mock_dispatcher, mock_running)
|
await endpoint.listener(mock_ws, mock_dispatcher, mock_running)
|
||||||
|
|
||||||
# Verify dispatcher.receive was NOT called for close message
|
# Verify dispatcher.receive was NOT called for close message
|
||||||
mock_dispatcher.receive.assert_not_called()
|
mock_dispatcher.receive.assert_not_called()
|
||||||
|
# Verify cleanup methods were called after break
|
||||||
|
mock_running.stop.assert_called_once()
|
||||||
|
mock_ws.close.assert_called_once()
|
||||||
Loading…
Add table
Add a link
Reference in a new issue