示例#1
0
        public async Task ConnectNode(string nodeId)
        {
            await Groups.AddToGroupAsync(Context.ConnectionId, "Nodes");

            var command = new ConnectNodeCommand(nodeId, Context.ConnectionId);

            await Dispatch(command);
        }
        public void NewNodeCanConnect()
        {
            var handler = new ConnectNodeCommandHandler(_nodeService, _boutRunnerService, _boutData);
            var command = new ConnectNodeCommand("NodeId", "ConnectionId");
            var result  = handler.Handle(command);
            var @event  = result.Events.FirstOrDefault(x => x.Event.Type == "NODE_CONNECTED")?.Event as NodeConnectedEvent;

            Assert.NotNull(@event);
            Assert.Equal("NodeId", @event.Data.NodeId);
        }
        public void NodeGetsSameNumberOnReconnect()
        {
            var handler = new ConnectNodeCommandHandler(_nodeService, _boutRunnerService, _boutData);
            var command = new ConnectNodeCommand("NodeId", "ConnectionId");
            var result  = handler.Handle(command);
            var @event  = result.Events.FirstOrDefault(x => x.Event.Type == "NODE_CONNECTED")?.Event as NodeConnectedEvent;
            var result2 = handler.Handle(command);
            var event2  = result2.Events.FirstOrDefault(x => x.Event.Type == "NODE_CONNECTED")?.Event as NodeConnectedEvent;

            Assert.NotNull(@event);
            Assert.NotNull(event2);
            Assert.Equal(@event.Data.ConnectionNumber, event2.Data.ConnectionNumber);
        }