Exemplo n.º 1
0
        public void CanUserUpdatePasswordTest()
        {
            IMateDAO <Mate> MateDAO  = new MateDAO(_connection);
            Mate            testMate = new Mate();

            testMate.FirstName   = "Jessica";
            testMate.LastName    = "Coelho";
            testMate.UserName    = "******";
            testMate.Password    = "******";
            testMate.Email       = "*****@*****.**";
            testMate.Description = "Lorem Ipsum is simply dummy text of the printing and typesetting industry.";
            testMate.Address     = "Ordem";
            testMate.Categories  = new[] { Categories.FURNITURE_ASSEMBLE, Categories.TRANSPORTATION };
            testMate.Rank        = Ranks.MATE;
            testMate.Range       = 20;

            Mate returned = MateDAO.Create(testMate);

            UserDAO             userDAO = new UserDAO(_connection);
            PasswordUpdateModel newPass = new PasswordUpdateModel();

            newPass.Password    = "******";
            newPass.OldPassword = "******";

            Assert.True(userDAO.UpdatePassword(newPass, returned.Id));

            _fixture.Dispose();
        }
        public void CanUserRecoverPasswordTest()
        {
            IMateDAO <Mate> MateDAO  = new MateDAO(_connection);
            Mate            testMate = new Mate();

            testMate.FirstName   = "Samuel";
            testMate.LastName    = "Cunha";
            testMate.UserName    = "******";
            testMate.Password    = "******";
            testMate.Email       = "*****@*****.**";
            testMate.Description = "Quero recuperar a pass";
            testMate.Address     = "Aparecida";
            testMate.Categories  = new[] { Categories.GARDENING };
            testMate.Rank        = Ranks.MATE;
            testMate.Range       = 10;

            Mate returned = MateDAO.Create(testMate);

            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes("RQj!O9+Sq|D8XjYa|}kgnk|}ZaQUso)EMF48Fx1~0n~^~%]n|O{NqH(&5RqXbx7");
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Email, testMate.Email.ToString())
                }),
                Expires            = DateTime.UtcNow.AddMinutes(10),
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };

            var    token         = tokenHandler.CreateToken(tokenDescriptor);
            var    tokenString   = tokenHandler.WriteToken(token);
            String auxResetToken = tokenString;

            PasswordOperations.NewPasswordRequest("*****@*****.**", auxResetToken);

            LoginDAO             loginDAO        = new LoginDAO(_connection);
            RecoverPasswordModel recoverPassword = new RecoverPasswordModel();

            recoverPassword.Email           = "*****@*****.**";
            recoverPassword.Password        = "******";
            recoverPassword.ConfirmPassword = "******";
            recoverPassword.Token           = tokenString;

            Assert.True(loginDAO.RecoverPassword(recoverPassword, returned.Email));

            _fixture.Dispose();
        }