From 0d5c6cd448b8a9981b7227942096460127a5a131 Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Sat, 12 Jul 2025 17:26:11 +0100 Subject: [PATCH] Rev gateway tests --- .../unit/test_rev_gateway/test_dispatcher.py | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 tests/unit/test_rev_gateway/test_dispatcher.py diff --git a/tests/unit/test_rev_gateway/test_dispatcher.py b/tests/unit/test_rev_gateway/test_dispatcher.py new file mode 100644 index 00000000..41f90ea2 --- /dev/null +++ b/tests/unit/test_rev_gateway/test_dispatcher.py @@ -0,0 +1,62 @@ +""" +Tests for Reverse Gateway Dispatcher +""" + +import pytest +from unittest.mock import MagicMock, AsyncMock + +from trustgraph.rev_gateway.dispatcher import WebSocketResponder + + +class TestWebSocketResponder: + """Test cases for WebSocketResponder class""" + + def test_websocket_responder_initialization(self): + """Test WebSocketResponder initialization""" + responder = WebSocketResponder() + + assert responder.response is None + assert responder.completed is False + + @pytest.mark.asyncio + async def test_websocket_responder_send_method(self): + """Test WebSocketResponder send method""" + responder = WebSocketResponder() + + test_response = {"data": "test response"} + + # Call send method + await responder.send(test_response) + + # Verify response was stored + assert responder.response == test_response + + @pytest.mark.asyncio + async def test_websocket_responder_call_method(self): + """Test WebSocketResponder __call__ method""" + responder = WebSocketResponder() + + test_response = {"result": "success"} + test_completed = True + + # Call the responder + await responder(test_response, test_completed) + + # Verify response and completed status were set + assert responder.response == test_response + assert responder.completed == test_completed + + @pytest.mark.asyncio + async def test_websocket_responder_call_method_with_false_completion(self): + """Test WebSocketResponder __call__ method with incomplete response""" + responder = WebSocketResponder() + + test_response = {"partial": "data"} + test_completed = False + + # Call the responder + await responder(test_response, test_completed) + + # Verify response was set and completed is True (since send() always sets completed=True) + assert responder.response == test_response + assert responder.completed is True \ No newline at end of file