Ejemplo n.º 1
0
        public async void SubscriptionAddedOnSubscribe()
        {
            var backplane       = new DefaultBackplane();
            var serviceProvider = CreateServiceProvider(o => {
                o.AddSingleton <IBackplane>(backplane);
            });
            var actualHub = serviceProvider.GetRequiredService <HubWebSocketHandler <TestHub> >();
            var webSocket = new LinkedFakeSocket();

            var connection = await CreateHubConnectionFromSocket(actualHub, webSocket);

            await backplane.Subscribe("some-group", connection.Id);

            Assert.Contains("some-group", backplane.Groups.Keys);
        }
Ejemplo n.º 2
0
        public async void ClientConnectAndDisconnectCleansUpBackplaneEventHandlers()
        {
            var backplane       = new DefaultBackplane();
            var serviceProvider = CreateServiceProvider(o => {
                o.AddSingleton <IBackplane>(backplane);
            });
            var actualHub = serviceProvider.GetRequiredService <HubWebSocketHandler <TestHub> >();
            var webSocket = new LinkedFakeSocket();

            var connection = await CreateHubConnectionFromSocket(actualHub, webSocket);

            await actualHub.OnDisconnected(webSocket, null);

            Assert.Equal(0, backplane.OnMessageCount);
        }
Ejemplo n.º 3
0
        public async Task SendingDisconnectClientAsync_DisconnectsClient()
        {
            var backplane       = new DefaultBackplane();
            var serviceProvider = CreateServiceProvider(o => {
                o.AddSingleton <IBackplane>(backplane);
            });
            var actualHub = serviceProvider.GetRequiredService <HubWebSocketHandler <TestHub> >();
            var webSocket = new LinkedFakeSocket();

            var connection = await CreateHubConnectionFromSocket(actualHub, webSocket);

            await backplane.DisconnectClientAsync(connection.Id);

            Assert.True(webSocket.CloseCalled);
        }
Ejemplo n.º 4
0
        public async void MessageSentToSubscribedGroup(string messageText)
        {
            var backplane       = new DefaultBackplane();
            var serviceProvider = CreateServiceProvider(o => {
                o.AddSingleton <IBackplane>(backplane);
            });
            var actualHub = serviceProvider.GetRequiredService <HubWebSocketHandler <TestHub> >();
            var webSocket = new LinkedFakeSocket();

            var connection = await CreateHubConnectionFromSocket(actualHub, webSocket);

            await backplane.Subscribe("some-group", connection.Id);

            await backplane.SendMessageGroupAsync("some-group", new Message()
            {
                MessageType = MessageType.Text,
                Data        = messageText
            });

            var message = await ReadMessageFromSocketAsync(webSocket);

            Assert.Equal(MessageType.Text, message.MessageType);
            Assert.Equal(messageText, message.Data);
        }