public void Generate_ReturnsRandomlyGeneratedPassword() { IPasswordGenerator passwordGeneratorOne = new Implementation.PasswordGenerator(); IPasswordGenerator passwordGeneratorTwo = new Implementation.PasswordGenerator(); var passwordOne = passwordGeneratorOne.Generate(); var passwordTwo = passwordGeneratorTwo.Generate(); Assert.AreNotEqual(passwordOne, passwordTwo); }
public void ValidatePassword_ShouldAllowOneTimeAccessWithPassword() { //Arrange IPasswordGenerator passwordGenerator = new Implementation.PasswordGenerator(); //Act IPasswordManager passwordManager = new Implementation.PasswordManager(passwordGenerator); var password = passwordManager.CreatePassword("id"); var passwordValid = passwordManager.IsPasswordCorrectAndValid("id", password); //Assert Assert.IsTrue(passwordValid); passwordValid = passwordManager.IsPasswordCorrectAndValid("id", password); Assert.IsFalse(passwordValid); }
public async Task CreatePassword_GivenUserIdMultipleTimes() { //Arrange IPasswordGenerator passwordGenerator = new Implementation.PasswordGenerator(); //Act IPasswordManager passwordManager = new Implementation.PasswordManager(passwordGenerator); var passwordOne = passwordManager.CreatePassword("id"); await Task.Delay(1); var passwordTwo = passwordManager.CreatePassword("id"); var passwordValid = passwordManager.IsPasswordCorrectAndValid("id", passwordOne); //Assert Assert.IsFalse(passwordValid); passwordValid = passwordManager.IsPasswordCorrectAndValid("id", passwordTwo); Assert.IsTrue(passwordValid); }