public void PasswordValidator_ValidateAValidPassword_PasswordShouldBeValid(int userId, string guid, DateTime generatedDate, int secondsPassed, bool expectedResult) { //Arrange var storedPasswordModel = new PasswordModel() { CreationDateTicks = generatedDate.Ticks, Guid = guid, UserId = userId }; var storedPasswordModelJson = JsonConvert.SerializeObject(storedPasswordModel); var inputPassword = EncryptAndEncodePassword(storedPasswordModelJson); var listOfStoredPasswords = new List <string>() { storedPasswordModelJson }; _passwordGuidRepositoryMock.Setup(x => x.ReadActiveGuid()).Returns(listOfStoredPasswords); var passwordValidator = new PasswordValidatorService(_passwordGuidRepositoryMock.Object); //Act var valid = passwordValidator.ValidatePassword(inputPassword, userId, generatedDate.AddSeconds(secondsPassed)); //Assert Assert.AreEqual(expectedResult, valid); }
public void PasswordValidator_PrefixMatches_Pass() { // Arrange var plaintext = "password"; PasswordValidatorService pw = new PasswordValidatorService(plaintext); var expected = "5baa6".ToUpper(); var actual = ""; // Act actual = pw._HashPrefix; // Assert Assert.AreEqual(expected, actual); }
public void GetNumberOfBreaches_BreachesWithinRange_Pass() { // Arrange var plaintext = "password"; PasswordValidatorService ValidatePassword = new PasswordValidatorService(plaintext); var expected = false; var actual = false; int numberOfBreaches = ValidatePassword._NumberOfBreaches; // Act actual = ValidatePassword.ValidateBreachFrequencyRange(numberOfBreaches); // Assert Assert.AreEqual(expected, actual); }
public void GetHashSuffix_ValidSuffix_Pass() { // Arrange string password = "******"; PasswordValidatorService ValidatePassword = new PasswordValidatorService(password); string hash = "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8".ToUpper(); // The expected SHA-1 hash for the plaintext var expected = "1e4c9b93f3f0682250b6cf8331b7ee68fd8".ToUpper(); var actual = ""; // Act actual = ValidatePassword._HashSuffix; // Assert Assert.AreEqual(expected, actual); }
public void ConsumePasswordAPI_PasswordIsSecure_Pass() { // Arrange var plaintext = "Th!sP@assw0rd1sS3cuRed"; PasswordValidatorService ValidatePassword = new PasswordValidatorService(plaintext); var numberOfBreaches = ValidatePassword._NumberOfBreaches; var expected = true; var actual = false; // Act if (numberOfBreaches < 0) { actual = true; } // Assert Assert.AreEqual(expected, actual); }
public bool ValidatePasswordLinq() { var passwordValidator = new PasswordValidatorService(); return(passwordValidator.Validate(password)); }
public void SetUp() { passwordValidatorService = new PasswordValidatorService(); }