Exemplo n.º 1
0
        public void Login_ToLongTimeout_Error()
        {
            //Запросили логин и пароль, юзер их ввел
            var login    = "******";
            var password = new byte[] { 0x1, 0x1 };

            UserPass userPass;

            using (var client = new StubAuthorizeService())
            {
                //Обращаемся на сервер чтобы авторизоваться
                ConfirmToken cnfToken = client.Login(login, password);
                //Не было исключений и мы получли токен подтверждения

                //Запросим у юзера код подтверждения
                byte[] confirmCode = { 0x98, 0x77, 0x11 };

                //Юзер очень долго тупил и долго не вводил код подтверждения, но таки ввел
                client.ExpireToken();

                try {
                    //Отдаем код подтверждения введенный юзером
                    userPass = client.ConfirmOperation(cnfToken, confirmCode);
                    Assert.IsFalse(true);
                }
                catch (FaultException <ConfirmTokenExpiredFault> ex)
                {
                    //Выводим сообщение, что истекло время ожидания для кода подтверждения,
                    //необходимо просвести авторизацию заново
                    Assert.IsTrue(true);
                }
            }
        }
Exemplo n.º 2
0
            public UserPass ConfirmOperation(ConfirmToken token, byte[] confirmCode)
            {
                if (token == null || confirmCode == null)
                {
                    throw new FaultException <InvalidConfirmFault>(new InvalidConfirmFault());
                }

                if (_tokenExpired)
                {
                    throw new FaultException <ConfirmTokenExpiredFault>(new ConfirmTokenExpiredFault());
                }

                return(new UserPass());
            }
Exemplo n.º 3
0
        public UserPass ConfirmOperation(ConfirmToken token, byte[] confirmCode)
        {
            var user = FakeUsers.FirstOrDefault(a => a.Username == token.Username);

            if (user == null)
            {
                return(null);
            }

            if (token == null || confirmCode == null || Encoding.UTF8.GetString(confirmCode) != Encoding.UTF8.GetString(user.Code))
            {
                return(null);
            }

            return(new UserPass {
                Email = user.Email, Username = user.Username
            });
        }
Exemplo n.º 4
0
        public void Login_UserBlocked_Error()
        {
            //Запросили логин и пароль, юзер их ввел
            var login    = "******";
            var password = new byte[] { 0x1, 0x1 };

            using (var client = new StubAuthorizeService())
            {
                //Пользователь заблокирован
                client.BlockUser();
                try
                {
                    ConfirmToken cnfToken = client.Login(login, password);
                    Assert.IsTrue(false);
                }
                catch (FaultException <UserBlockedFault> ex)
                {
                    //Выводим сообщение, что учетная запись заблокирована
                    Assert.IsTrue(true);
                }
            }
        }
Exemplo n.º 5
0
        public void Login_Success()
        {
            //Запросили логин и пароль, юзер их ввел
            var login    = "******";
            var password = new byte[] { 0x1, 0x1 };

            UserPass userPass;

            using (var client = new StubAuthorizeService())
            {
                //Обращаемся на сервер чтобы авторизоваться
                ConfirmToken cnfToken = client.Login(login, password);
                //Не было исключений и мы получли токен подтверждения

                //Запросим у юзера код подтверждения, служба авторизации сама отправляет юзеру код
                byte[] confirmCode = { 0x98, 0x77, 0x11 };

                //Отдаем код подтверждения введенный юзером
                userPass = client.ConfirmOperation(cnfToken, confirmCode);
                //Все Ок, мы получили UserPass и можем с ним обращаться к службе данных
                Assert.IsTrue(true);
            }
        }
Exemplo n.º 6
0
        public UserPass ConfirmOperation(ConfirmToken token, byte[] confirmCode)
        {
            var res = _client.Execute(a => a.ConfirmOperation(token, confirmCode));

            return(res);
        }
Exemplo n.º 7
0
 public virtual UserPass ConfirmOperation(ConfirmToken token, byte[] confirmCode)
 {
     return(Channel.ConfirmOperation(token, confirmCode));
 }