示例#1
0
 async def test_receive_with_timeout(self):
     message = Message(MessageType.WEBSOCKET_INACTIVE)
     data = message.to_json()
     websocket = AsyncMock()
     websocket.recv = CoroutineMock()
     websocket.recv.return_value = data
     assert await receive(websocket, timeout_sec=3) == message
示例#2
0
 async def test_handle_exception_value_error(self, send, close):
     exception = ValueError("Hello!")
     websocket = AsyncMock()
     context = RequestFailedContext(FailureReason.INVALID_REQUEST, "Hello!")
     message = Message(MessageType.REQUEST_FAILED, context=context)
     json = message.to_json()
     await _handle_exception(exception, websocket)
     send.assert_awaited_once_with(websocket, json)
     close.assert_not_awaited()
示例#3
0
 async def test_handle_exception_processing_error_comment(
         self, send, close):
     exception = ProcessingError(FailureReason.INVALID_PLAYER, "comment")
     websocket = AsyncMock()
     context = RequestFailedContext(FailureReason.INVALID_PLAYER, "comment")
     message = Message(MessageType.REQUEST_FAILED, context=context)
     json = message.to_json()
     await _handle_exception(exception, websocket)
     send.assert_awaited_once_with(websocket, json)
     close.assert_not_awaited()
示例#4
0
 async def test_handle_exception_processing_error_websocket_limit(
         self, send, close):
     exception = ProcessingError(FailureReason.WEBSOCKET_LIMIT)
     websocket = AsyncMock()
     context = RequestFailedContext(FailureReason.WEBSOCKET_LIMIT,
                                    FailureReason.WEBSOCKET_LIMIT.value)
     message = Message(MessageType.REQUEST_FAILED, context=context)
     json = message.to_json()
     await _handle_exception(exception, websocket)
     send.assert_awaited_once_with(websocket, json)
     close.assert_awaited_once_with(websocket)
示例#5
0
 async def test_handle_exception_fail(self, send, close):
     # this just confirms that send failures aren't propogated to the caller (we intentionally ignore them)
     exception = ProcessingError(FailureReason.INVALID_PLAYER)
     websocket = AsyncMock()
     send.side_effect = Exception("Send failed!")
     context = RequestFailedContext(FailureReason.INVALID_PLAYER,
                                    FailureReason.INVALID_PLAYER.value)
     message = Message(MessageType.REQUEST_FAILED, context=context)
     json = message.to_json()
     await _handle_exception(exception, websocket)
     send.assert_awaited_once_with(websocket, json)
     close.assert_not_awaited()
示例#6
0
 async def test_send_message(self):
     message = Message(MessageType.WEBSOCKET_IDLE)
     websocket = AsyncMock()
     websocket.send = CoroutineMock()
     await send(websocket, message)
     websocket.send.assert_awaited_once_with(message.to_json())