Пример #1
0
        public void ServerRunningFlagReturnsCorrectStatus()
        {
            IDependencyUtility dependencyUtility = new DependencyUtility();

            dependencyUtility.Register <ILogger>(new Mock <ILogger>().Object);
            dependencyUtility.Register <IRouteTable>(new Mock <IRouteTable>().Object);
            dependencyUtility.Register <ISecurityContainer>(new Mock <ISecurityContainer>().Object);
            dependencyUtility.Register <ITcpHandler>(new Mock <ITcpHandler>().Object);
            dependencyUtility.Register <IThreadHelper>(new Mock <IThreadHelper>().Object);

            using (IServer server = new Server.WebSocketServer(string.Empty, string.Empty, 0, dependencyUtility, 1, 3))
            {
                server.Run(false);

                Assert.True(server.IsRunning);

                server.Stop();

                Assert.False(server.IsRunning);
            }
        }
Пример #2
0
        public void ServerRunningSpawnsCorrectAmountOfThreads()
        {
            IDependencyUtility dependencyUtility = new DependencyUtility();

            Mock <IThreadHelper> threadHelper = new Mock <IThreadHelper>();

            dependencyUtility.Register <ILogger>(new Mock <ILogger>().Object);
            dependencyUtility.Register <IRouteTable>(new Mock <IRouteTable>().Object);
            dependencyUtility.Register <ISecurityContainer>(new Mock <ISecurityContainer>().Object);
            dependencyUtility.Register <ITcpHandler>(new Mock <ITcpHandler>().Object);
            dependencyUtility.Register <IThreadHelper>(threadHelper.Object);

            using (IServer server = new Server.WebSocketServer(string.Empty, string.Empty, 0, dependencyUtility, 2, 4))
            {
                server.Run(false);

                //Listener threads: 2
                //Client threads: 2 * 4 (multiplicand)
                //Dead Connection thread: 1
                // = 11
                threadHelper.Verify(x => x.CreateAndRun(It.IsAny <ThreadStart>()), Times.Exactly(11));
                server.Stop();
            }
        }