Пример #1
0
        public void IncorrectLogin()
        {
            DoLoginResponse doLoginResponse = new DoLoginResponse();

            doLoginResponse.CaptchaNeeded     = false;
            doLoginResponse.CaptchaGid        = -1;
            doLoginResponse.Message           = "Incorrect login.";
            doLoginResponse.RequiresTwoFactor = false;

            var skadiLoginError = SkadiLoginErrorFactory.Create(doLoginResponse);

            Assert.Equal(ErrorType.IncorrectLogin, skadiLoginError.Type);
        }
Пример #2
0
        public void CaptchaNeeded()
        {
            DoLoginResponse doLoginResponse = new DoLoginResponse();

            doLoginResponse.CaptchaNeeded     = true;
            doLoginResponse.CaptchaGid        = 677901403761260;
            doLoginResponse.Message           = "";
            doLoginResponse.RequiresTwoFactor = false;

            var skadiLoginError = SkadiLoginErrorFactory.Create(doLoginResponse);

            Assert.Equal(ErrorType.CaptchaNeeded, skadiLoginError.Type);
        }
Пример #3
0
        public void RequiresTwoFactor()
        {
            DoLoginResponse doLoginResponse = new DoLoginResponse();

            doLoginResponse.CaptchaNeeded     = false;
            doLoginResponse.CaptchaGid        = -1;
            doLoginResponse.Message           = "";
            doLoginResponse.RequiresTwoFactor = true;
            SkadiLoginErrorFactory.Create(doLoginResponse);

            var skadiLoginError = SkadiLoginErrorFactory.Create(doLoginResponse);

            Assert.Equal(ErrorType.TwoFactor, skadiLoginError.Type);
        }
Пример #4
0
        /// <summary>
        /// Execute the login. This will take the configuration into consideration
        /// which can be given as parameter in the constructor.
        /// </summary>
        /// <param name="skadiLoginData">
        /// Date of the steam login. See <see cref="SkadiLoginData"/>.
        /// </param>
        /// <returns>
        /// It will return a response with login data.
        /// For more information lookup <see cref="SkadiLoginResponse"/>.
        /// </returns>
        public SkadiLoginResponse Execute(SkadiLoginData skadiLoginData)
        {
            GetSession();
            if (_skadiLoginConfiguration != null &&
                !_skadiLoginConfiguration.StopOnError)
            {
                return(ExecuteUntilLogin(skadiLoginData));
            }
            var rsaKey          = GetRsaKey(skadiLoginData.Username);
            var doLoginResponse = DoLogin(rsaKey, skadiLoginData.Username,
                                          skadiLoginData.Password, skadiLoginData.SharedSecret);

            if (!DoLoginResponseValidator.IsValid(doLoginResponse))
            {
                SkadiLoginResponse skadiLoginResponse = new SkadiLoginResponse();
                skadiLoginResponse.SkadiLoginError =
                    SkadiLoginErrorFactory.Create(doLoginResponse);
                return(skadiLoginResponse);
            }
            Transfer(doLoginResponse);
            return(SetSession());
        }