public void Login_UserValidLogin_ReturnsUserDTO() { TimeSpan ts = new TimeSpan(1, 5, 0); byte[] salt = PasswordManagement.GenerateSalt(); byte[] pass = PasswordManagement.GenerateSaltedPassword(Encoding.UTF8.GetBytes("Password"), salt); var mock = new Mock<IUnitOfWork>(); mock.Setup(u => u.UserRepository.Get(It.IsAny<Expression<Func<User, bool>>>(), null, "")).Returns( new List<User> { new User { UserId = 4, FirstName = "Test4", LastName = "LastName", Email = "*****@*****.**", Salt = salt, Password = pass, AccountConfirmed = true, PassResetCode = "test1", PassResetExpire = new Nullable<DateTime>(DateTime.Now.Add(ts)) }, }); LoginService ls = new LoginService(mock.Object); UserDTO user = ls.Login("*****@*****.**", "Password"); Assert.IsNotNull(user); }
public void ResetPassword_InvalidUserResetsPassword_ReturnsFalse() { TimeSpan ts = new TimeSpan(1, 5, 0); byte[] salt = PasswordManagement.GenerateSalt(); byte[] pass = PasswordManagement.GenerateSaltedPassword(Encoding.UTF8.GetBytes("Password"), salt); var mock = new Mock<IUnitOfWork>(); mock.Setup(u => u.UserRepository.Get(It.IsAny<Expression<Func<User, bool>>>(), null, "")).Returns(new List<User>()); LoginService ls = new LoginService(mock.Object); bool passwordReset = ls.ResetPassword("*****@*****.**"); Assert.IsFalse(passwordReset); }
public void NewPassword_ExpiredResetCode_ReturnsFalse() { TimeSpan ts = new TimeSpan(0, 5, 0); byte[] salt = PasswordManagement.GenerateSalt(); byte[] pass = PasswordManagement.GenerateSaltedPassword(Encoding.UTF8.GetBytes("Password"), salt); List<User> users = new List<User> { new User { UserId = 5, FirstName = "Test5", LastName = "LastName", Email = "*****@*****.**", Salt = salt, Password = pass, AccountConfirmed = true, PassResetCode = "test2", PassResetExpire = DateTime.Now.Subtract(ts) } }; var mock = new Mock<IUnitOfWork>(); mock.Setup(u => u.UserRepository.Get(It.IsAny<Expression<Func<User, bool>>>(), null, "")).Returns(users); LoginService ls = new LoginService(mock.Object); bool newPassword = ls.NewPassword("newpass", "test2"); Assert.IsFalse(newPassword); }