Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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();
        }