private string JoinQueue()
        {
            ServusLogin_Only obj = RegisterOnly();

            LoginViaOnly(obj);
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Queue, QueueFunctions.QueueJoin);

            msg.ValueString = "testGame_1p";
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(3, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.Equal(typeof(ServusMessage), _receivedEvents[1].GetType());
            Assert.Equal(typeof(ServusMessage), _receivedEvents[2].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.False(_receivedEvents[1].Error);
            Assert.False(_receivedEvents[2].Error);
            Assert.Equal(QueueFunctions.QueueGameid, _receivedEvents[1].Queuefunc);
            Assert.True(null != _receivedEvents[1].ValueString);
            Assert.Equal(TestGameFunctions.TgBegin, _receivedEvents[0].TestGamefunc);
            Assert.Equal("Dummy", _receivedEvents[0].ValueString);
            Assert.Equal(QueueFunctions.QueueJoin, _receivedEvents[2].Queuefunc);
            string returnString = _receivedEvents[1].ValueString;

            _receivedEvents.Clear();
            return(returnString);
        }
        public void Echo2PGame(int countStringLength, int sleepTime, string gameId, ServerConnector connection,
                               string strToSend)
        {
            var msg = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho,
                                                                       gameId);

            msg.ValueString = strToSend;
            connection.SendMessage(msg);
            sleepModifier(sleepTime);
        }
        private void joinQueue2P_First(ServerConnector connection, List <ServusMessage> receivedEvents)
        {
            var msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Queue, QueueFunctions.QueueJoin);

            msg.ValueString = "testGame_2p";
            connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), receivedEvents[0].GetType());
            Assert.False(receivedEvents[0].Error);
            Assert.Equal(QueueFunctions.QueueJoin, receivedEvents[0].Queuefunc);
            receivedEvents.Clear();
        }
        private void LoginViaOnly(ServusLogin_Only loginData)
        {
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.AuthOnly, AuthFunctions.AuthLogin);

            msg.ValueOnlyAuth = loginData;
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.True(_receivedEvents[0].ValueBool);
            Assert.False(_receivedEvents[0].Error);
            _receivedEvents.Clear();
        }
        private void SendModuleDate(int countStringLength, int sleepTime, ServerConnector connection,
                                    List <ServusMessage> receivedEvents)
        {
            var strToSend = RandomString(countStringLength);
            var msg       = ServusProtobufBasicFactory.createServusMessage(Modulename.TestEcho, BasicFunctions.BasicEcho);

            msg.ValueString = strToSend;
            connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), receivedEvents[0].GetType());
            Assert.False(receivedEvents[0].ValueBool);
            Assert.False(receivedEvents[0].Error);
            Assert.Equal(strToSend, receivedEvents[0].ValueString);
        }
        private ServusLogin_Only RegisterOnly()
        {
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.AuthOnly, AuthFunctions.AuthRegister);

            msg.ValueString = "Dummy";
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.True(_receivedEvents[0].ValueOnlyAuth.Id > 0);
            Assert.False(_receivedEvents[0].Error);
            ServusLogin_Only returnVal = _receivedEvents[0].ValueOnlyAuth;

            _receivedEvents.Clear();
            return(returnVal);
        }
        public void Echo1PGame(int countStringLength, int sleepTime, string gameId, ServerConnector connection,
                               List <ServusMessage> receivedEvents)
        {
            var strToSend = RandomString(countStringLength);
            var msg       = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho,
                                                                             gameId);

            msg.ValueString = strToSend;
            connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), receivedEvents[0].GetType());
            Assert.False(receivedEvents[0].Error);
            Assert.Equal(strToSend, receivedEvents[0].ValueString);
            Assert.Equal(gameId, receivedEvents[0].GameID);
        }
        private ServusLogin_Only RegisterOnly(ServerConnector connection, List <ServusMessage> receivedEvents,
                                              string name)
        {
            var msg = ServusProtobufBasicFactory.createServusMessage(Modulename.AuthOnly, AuthFunctions.AuthRegister);

            msg.ValueString = name;
            connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), receivedEvents[0].GetType());
            Assert.True(receivedEvents[0].ValueOnlyAuth.Id > 0);
            Assert.False(receivedEvents[0].Error);
            var returnVal = receivedEvents[0].ValueOnlyAuth;

            receivedEvents.Clear();
            return(returnVal);
        }
        public void TestServerSimpleNoAuth()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Unknown, BasicFunctions.BasicUnkown);

            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.Equal(_receivedEvents[0].ErrorType, ErrorType.ErrorNoAuth);
            Assert.True(_receivedEvents[0].Error);
            _receivedEvents.Clear();
            Disconnect();
        }
        public void TestServerTestJoinQueueError()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusLogin_Only obj = RegisterOnly();

            LoginViaOnly(obj);
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Queue, QueueFunctions.QueueUnkown);

            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.Equal(_receivedEvents[0].ErrorType, ErrorType.ErrorWrongmethod);
            Assert.True(_receivedEvents[0].Error);
            Disconnect();
        }
        public void TestServerTestEchoGameWrongGameId()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) =>
            {
                _receivedEvents.Add(m);
            };
            string gameId = JoinQueue();

            gameId += "A";
            ServusMessage msg = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho, gameId);

            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.True(_receivedEvents[0].Error);
            Assert.Equal(_receivedEvents[0].ErrorType, ErrorType.ErrorNoGameFound);
            Disconnect();
        }
        public void TestServerTestModuleLoginModulCallbackId()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.AuthOnly, AuthFunctions.AuthRegister);

            msg.ValueString = "Dummy";
            msg.CallBackID  = 123456789L;
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.True(_receivedEvents[0].ValueOnlyAuth.Id > 0);
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(123456789L, _receivedEvents[0].CallBackID);
            _receivedEvents.Clear();
            Disconnect();
        }
        public void TestServerJoinloginViaOnlyWrongKey()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusLogin_Only obj = RegisterOnly();

            obj.Key = 12345;
            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.AuthOnly, AuthFunctions.AuthLogin);

            msg.ValueOnlyAuth = obj;
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].ValueBool);
            Assert.False(_receivedEvents[0].Error);
            _receivedEvents.Clear();
            Disconnect();
        }
        public void TestServerTestEchoGame(int countStringLength, int sleepTime)
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) =>
            {
                _receivedEvents.Add(m);
            };
            string        gameId    = JoinQueue();
            string        strToSend = RandomString(countStringLength);
            ServusMessage msg       = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho, gameId);

            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Assert.Equal(gameId, _receivedEvents[0].GameID);
            Disconnect();
        }
        //[InlineData(100000000, 10000)] --> Changes needed on Elix side
        public void TestServerTestModuleSendData(int countStringLength, int sleepTime)
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusLogin_Only obj = RegisterOnly();

            LoginViaOnly(obj);
            string        strToSend = RandomString(countStringLength);
            ServusMessage msg       = ServusProtobufBasicFactory.createServusMessage(Modulename.TestEcho, BasicFunctions.BasicEcho);

            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].ValueBool);
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Disconnect();
        }
        private string joinQueue2P_Second(ServerConnector connection, List <ServusMessage> receivedEvents, string name)
        {
            var msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Queue, QueueFunctions.QueueJoin);

            msg.ValueString = "testGame_2p";
            connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(3, receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), receivedEvents[0].GetType());
            Assert.Equal(typeof(ServusMessage), receivedEvents[1].GetType());
            Assert.Equal(typeof(ServusMessage), receivedEvents[2].GetType());
            Assert.False(receivedEvents[0].Error);
            Assert.False(receivedEvents[1].Error);
            Assert.False(receivedEvents[2].Error);
            Assert.Equal(QueueFunctions.QueueGameid, receivedEvents[1].Queuefunc);
            Assert.True(null != receivedEvents[1].ValueString);
            Assert.Equal(TestGameFunctions.TgBegin, receivedEvents[0].TestGamefunc);
            Assert.Equal(name, receivedEvents[0].ValueString);
            Assert.Equal(QueueFunctions.QueueJoin, receivedEvents[2].Queuefunc);
            var returnString = receivedEvents[1].ValueString;

            receivedEvents.Clear();
            return(returnString);
        }
        public void TestServerTestModuleTestModulCallbackId()
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) => {
                _receivedEvents.Add(m);
            };
            ServusLogin_Only obj = RegisterOnly();

            LoginViaOnly(obj);
            string        strToSend = RandomString(10000);
            ServusMessage msg       = ServusProtobufBasicFactory.createServusMessage(Modulename.TestEcho, BasicFunctions.BasicEcho);

            msg.CallBackID  = 123456789L;
            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(100);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Assert.Equal(123456789L, _receivedEvents[0].CallBackID);
            Disconnect();
        }
        public void TestServerTestEchoTwoGameMultiple(int countStringLength, int sleepTime)
        {
            Connect();
            _receivedEvents             = new List <ServusMessage>();
            _connection.RecieveMessage += (ServusMessage m) =>
            {
                _receivedEvents.Add(m);
            };
            string gameId = JoinQueue();

            ServusMessage msg = ServusProtobufBasicFactory.createServusMessage(Modulename.Queue, QueueFunctions.QueueJoin);

            msg.ValueString = "testGame_1p";
            _connection.SendMessage(msg);
            sleepModifier(500);
            Assert.Equal(3, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.Equal(typeof(ServusMessage), _receivedEvents[1].GetType());
            Assert.Equal(typeof(ServusMessage), _receivedEvents[2].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.False(_receivedEvents[1].Error);
            Assert.False(_receivedEvents[2].Error);
            Assert.Equal(QueueFunctions.QueueGameid, _receivedEvents[1].Queuefunc);
            Assert.True(null != _receivedEvents[1].ValueString);
            Assert.Equal(TestGameFunctions.TgBegin, _receivedEvents[0].TestGamefunc);
            Assert.Equal("Dummy", _receivedEvents[0].ValueString);
            Assert.Equal(QueueFunctions.QueueJoin, _receivedEvents[2].Queuefunc);
            string gameId2 = _receivedEvents[1].ValueString;

            _receivedEvents.Clear();
            ///First Gameid
            string strToSend = RandomString(countStringLength);

            msg             = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho, gameId);
            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Assert.Equal(gameId, _receivedEvents[0].GameID);
            _receivedEvents.Clear();
            /// Second Gameid
            strToSend       = RandomString(countStringLength);
            msg             = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho, gameId2);
            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Assert.Equal(gameId2, _receivedEvents[0].GameID);
            /// First again
            _receivedEvents.Clear();
            strToSend       = RandomString(countStringLength);
            msg             = ServusProtobufBasicFactory.createEchoGameMessage(Modulename.Directgame, TestGameFunctions.TgEcho, gameId);
            msg.ValueString = strToSend;
            _connection.SendMessage(msg);
            sleepModifier(sleepTime);
            Assert.Equal(1, _receivedEvents.Count);
            Assert.Equal(typeof(ServusMessage), _receivedEvents[0].GetType());
            Assert.False(_receivedEvents[0].Error);
            Assert.Equal(strToSend, _receivedEvents[0].ValueString);
            Assert.Equal(gameId, _receivedEvents[0].GameID);
            Disconnect();
        }