mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-22 19:51: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"""
|
||||
mock_pulsar_client = MagicMock()
|
||||
mock_sub_instance = AsyncMock()
|
||||
mock_pub_instance = AsyncMock()
|
||||
mock_subscriber.return_value = mock_sub_instance
|
||||
mock_publisher.return_value = mock_pub_instance
|
||||
|
||||
requestor = ServiceRequestor(
|
||||
pulsar_client=mock_pulsar_client,
|
||||
|
|
@ -87,8 +89,9 @@ class TestServiceRequestor:
|
|||
# Call 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_pub_instance.start.assert_called_once()
|
||||
assert requestor.running is True
|
||||
|
||||
@patch('trustgraph.gateway.dispatch.requestor.Publisher')
|
||||
|
|
@ -96,8 +99,8 @@ class TestServiceRequestor:
|
|||
def test_service_requestor_attributes(self, mock_subscriber, mock_publisher):
|
||||
"""Test ServiceRequestor has correct attributes"""
|
||||
mock_pulsar_client = MagicMock()
|
||||
mock_pub_instance = MagicMock()
|
||||
mock_sub_instance = MagicMock()
|
||||
mock_pub_instance = AsyncMock()
|
||||
mock_sub_instance = AsyncMock()
|
||||
mock_publisher.return_value = mock_pub_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_import.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(
|
||||
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_import.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(
|
||||
dispatcher_manager=mock_dispatcher_manager,
|
||||
|
|
@ -62,13 +64,14 @@ class TestEndpointManager:
|
|||
mock_dispatcher_manager = 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_socket.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_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(
|
||||
dispatcher_manager=mock_dispatcher_manager,
|
||||
|
|
@ -78,8 +81,9 @@ class TestEndpointManager:
|
|||
|
||||
# Verify all dispatcher methods were called during initialization
|
||||
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_import.assert_called()
|
||||
mock_dispatcher_manager.dispatch_flow_export.assert_called()
|
||||
mock_dispatcher_manager.dispatch_flow_stream.assert_called()
|
||||
mock_dispatcher_manager.dispatch_flow_import.assert_called_once()
|
||||
mock_dispatcher_manager.dispatch_flow_export.assert_called_once()
|
||||
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():
|
||||
yield mock_msg
|
||||
|
||||
mock_ws = MagicMock()
|
||||
mock_ws.__aiter__ = lambda: async_iter()
|
||||
mock_ws = AsyncMock()
|
||||
mock_ws.__aiter__ = lambda self: async_iter()
|
||||
mock_running = MagicMock()
|
||||
|
||||
# Call listener method
|
||||
|
|
@ -70,6 +70,9 @@ class TestSocketEndpoint:
|
|||
|
||||
# Verify dispatcher.receive was called with the message
|
||||
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
|
||||
async def test_listener_method_with_binary_message(self):
|
||||
|
|
@ -87,8 +90,8 @@ class TestSocketEndpoint:
|
|||
async def async_iter():
|
||||
yield mock_msg
|
||||
|
||||
mock_ws = MagicMock()
|
||||
mock_ws.__aiter__ = lambda: async_iter()
|
||||
mock_ws = AsyncMock()
|
||||
mock_ws.__aiter__ = lambda self: async_iter()
|
||||
mock_running = MagicMock()
|
||||
|
||||
# Call listener method
|
||||
|
|
@ -96,6 +99,9 @@ class TestSocketEndpoint:
|
|||
|
||||
# Verify dispatcher.receive was called with the message
|
||||
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
|
||||
async def test_listener_method_with_close_message(self):
|
||||
|
|
@ -113,12 +119,15 @@ class TestSocketEndpoint:
|
|||
async def async_iter():
|
||||
yield mock_msg
|
||||
|
||||
mock_ws = MagicMock()
|
||||
mock_ws.__aiter__ = lambda: async_iter()
|
||||
mock_ws = AsyncMock()
|
||||
mock_ws.__aiter__ = lambda self: async_iter()
|
||||
mock_running = MagicMock()
|
||||
|
||||
# Call listener method
|
||||
await endpoint.listener(mock_ws, mock_dispatcher, mock_running)
|
||||
|
||||
# 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