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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 7
0
 public void SetUp()
 {
     passwordValidatorService = new PasswordValidatorService();
 }