public async Task CloseNoopsIfInTerminalState(InternalWebSocketState state) { var webSocket = new Mock <WebSocket>(); var webSocketHandler = new Mock <WebSocketHandler>(64 * 1024) { CallBase = true }; webSocket.Setup(m => m.State).Returns((WebSocketState)state); webSocketHandler.Object.WebSocket = webSocket.Object; await webSocketHandler.Object.CloseAsync(); webSocket.Verify(m => m.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "", CancellationToken.None), Times.Never()); }
public async Task SendNoopsIfNotOpen(InternalWebSocketState state) { var webSocket = new Mock <WebSocket>(); var webSocketHandler = new Mock <WebSocketHandler>(64 * 1024) { CallBase = true }; webSocket.Setup(m => m.State).Returns((WebSocketState)state); webSocketHandler.Object.WebSocket = webSocket.Object; await webSocketHandler.Object.SendAsync("Hello"); webSocket.Verify(m => m.SendAsync(It.IsAny <ArraySegment <byte> >(), WebSocketMessageType.Text, true, CancellationToken.None), Times.Never()); }
public void WebSocketSendReturnsAFaultedTaskWhenNotConnected(InternalWebSocketState state) { var mockConnection = new Mock <Client.IConnection>(MockBehavior.Strict); var mockWebSocket = new Mock <WebSocket>(MockBehavior.Strict); var mockWebSocketHandler = new Mock <ClientWebSocketHandler>(); mockWebSocket.SetupGet(ws => ws.State).Returns((WebSocketState)state); mockConnection.Setup(c => c.OnError(It.IsAny <InvalidOperationException>())); mockWebSocketHandler.Object.WebSocket = mockWebSocket.Object; var wsTransport = new WebSocketTransport(mockWebSocketHandler.Object); var task = wsTransport.Send(mockConnection.Object, "", ""); Assert.True(task.IsFaulted); Assert.IsType(typeof(InvalidOperationException), task.Exception.InnerException); mockConnection.VerifyAll(); mockWebSocket.VerifyAll(); }