Example #1
0
        public async Task OnDisconnectedAsync_ShouldInvokeBackplane_OnClientDisconnectedAsync()
        {
            var sut = new HubWebSocketHandler <DefaultHub>(Mocker.ServiceProviderMock.Object, Mocker.LoggerFactoryMock.Object);

            var connectionId = Guid.NewGuid().ToString();
            var connection   = new SocketConnection(connectionId, Mocker.ChannelMock.Object);

            await sut.OnDisconnectedAsync(connection, null);

            Mocker.BackplaneMock.Verify(m => m.OnClientDisconnectedAsync(connectionId), Times.Once);
        }
Example #2
0
        private async Task <Connection> CreateHubConnectionFromSocket(HubWebSocketHandler <TestHub> actualHub, LinkedFakeSocket webSocket)
        {
            var connection = await actualHub.OnConnected(webSocket, new DefaultHttpContext());

            // Receive the connection message
            var connectMessage = await ReadMessageFromSocketAsync(webSocket);

            Assert.NotNull(connectMessage);
            Assert.NotNull(connectMessage.Data);
            Assert.NotNull(Guid.Parse(connectMessage.Data));
            return(connection);
        }
Example #3
0
        public async Task OnDisconnectedAsync_ShouldInvokeHubCreateAndRelease()
        {
            var sut = new HubWebSocketHandler <DefaultHub>(Mocker.ServiceProviderMock.Object, Mocker.LoggerFactoryMock.Object);

            var connection = new SocketConnection(Guid.NewGuid().ToString(), Mocker.ChannelMock.Object);

            await sut.OnDisconnectedAsync(connection, null);

            var defaultHubActivatorMock = Mocker.GetHubActivator <DefaultHub>();

            defaultHubActivatorMock.Verify(m => m.Create(), Times.Once);
            defaultHubActivatorMock.Verify(m => m.Release(It.IsAny <DefaultHub>()), Times.Once);
        }
Example #4
0
        public async Task OnDisconnectedAsync_Throws_ShouldInvokeBackplane_OnClientDisconnectedAsync()
        {
            var sut = new HubWebSocketHandler <FailHub>(Mocker.ServiceProviderMock.Object, Mocker.LoggerFactoryMock.Object);

            var connectionId = Guid.NewGuid().ToString();
            var connection   = new SocketConnection(connectionId, Mocker.ChannelMock.Object);

            await Assert.ThrowsAsync <NotSupportedException>(async() =>
            {
                await sut.OnDisconnectedAsync(connection, null);
            });

            Mocker.BackplaneMock.Verify(m => m.OnClientDisconnectedAsync(connectionId), Times.Once);
        }
Example #5
0
        public async Task OnConnectedAsync_ReleaseShouldBeInvoked_IfHubOnConnectedAsyncThrows()
        {
            var sut = new HubWebSocketHandler <FailHub>(Mocker.ServiceProviderMock.Object, Mocker.LoggerFactoryMock.Object);

            var connection = new SocketConnection(Guid.NewGuid().ToString(), Mocker.ChannelMock.Object);

            await Assert.ThrowsAsync <NotSupportedException>(async() =>
            {
                await sut.OnConnectedAsync(connection);
            });

            var failHubActivatorMock = Mocker.GetHubActivator <FailHub>();

            failHubActivatorMock.Verify(m => m.Release(It.IsAny <FailHub>()), Times.Once);
        }
Example #6
0
 public void Construction_ShouldNotThrow()
 {
     var sut = new HubWebSocketHandler <DefaultHub>(Mocker.ServiceProviderMock.Object, Mocker.LoggerFactoryMock.Object);
 }