Skip to content

Commit 004dfff

Browse files
authored
Axsuarez/streaming receive loop unittest (#1667)
* payload receiver unit test * StreamingRequestHandler test listen
1 parent 9601b2e commit 004dfff

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Copyright (c) Microsoft Corporation. All rights reserved.
2+
# Licensed under the MIT License.
3+
4+
from unittest.mock import Mock
5+
from typing import Any
6+
7+
import aiounittest
8+
9+
from botbuilder.core.streaming import StreamingRequestHandler
10+
from botbuilder.streaming.transport.web_socket import (
11+
WebSocket,
12+
WebSocketState,
13+
WebSocketCloseStatus,
14+
WebSocketMessage,
15+
WebSocketMessageType,
16+
)
17+
18+
19+
class MockWebSocket(WebSocket):
20+
def __init__(self):
21+
super(MockWebSocket, self).__init__()
22+
23+
self.receive_called = False
24+
25+
def dispose(self):
26+
return
27+
28+
async def close(self, close_status: WebSocketCloseStatus, status_description: str):
29+
return
30+
31+
async def receive(self) -> WebSocketMessage:
32+
self.receive_called = True
33+
34+
async def send(
35+
self, buffer: Any, message_type: WebSocketMessageType, end_of_message: bool
36+
):
37+
raise Exception
38+
39+
@property
40+
def status(self) -> WebSocketState:
41+
return WebSocketState.OPEN
42+
43+
44+
class TestStramingRequestHandler(aiounittest.AsyncTestCase):
45+
async def test_listen(self):
46+
mock_bot = Mock()
47+
mock_activity_processor = Mock()
48+
mock_web_socket = MockWebSocket()
49+
50+
sut = StreamingRequestHandler(
51+
mock_bot, mock_activity_processor, mock_web_socket
52+
)
53+
await sut.listen()
54+
55+
assert mock_web_socket.receive_called

0 commit comments

Comments
 (0)