public async Task TestCheckingPassword(
            string password,
            bool requireUpperCase,
            bool requireLowerCase,
            bool requireDigits,
            bool requireSpecialCharacters,
            int minLength,
            bool passwordIsValid,
            bool passwordViolatesMinLength,
            bool passwordMustHaveUpperCaseLetters,
            bool passwordMustHaveLowerCaseLetters,
            bool passwordMustHaveDigits,
            bool passwordMustHaveSpecialCharacters)
        {
            var options = new AuthenticationOptions
            {
                PasswordRequiredLength          = minLength,
                PasswordRequireUppercase        = requireUpperCase,
                PasswordRequireLowercase        = requireLowerCase,
                PasswordRequireDigit            = requireDigits,
                PasswordRequireNonLetterOrDigit = requireSpecialCharacters
            };
            var target = new PasswordCheckService(options);

            var result = await target.ValidatePasswordAsync(password);

            Assert.Equal(passwordIsValid, result.PasswordIsValid);

            Assert.Equal(minLength, result.MinPasswordLength);
            Assert.Equal(passwordViolatesMinLength, result.PasswordViolatesMinLength);
            Assert.Equal(passwordMustHaveUpperCaseLetters, result.PasswordMustHaveUpperCaseLetters);
            Assert.Equal(passwordMustHaveLowerCaseLetters, result.PasswordMustHaveLowerCaseLetters);
            Assert.Equal(passwordMustHaveDigits, result.PasswordMustHaveDigits);
            Assert.Equal(passwordMustHaveSpecialCharacters, result.PasswordMustHaveSpecialCharacters);
        }
        public async Task TestCheckingPassword(
            string password,
            bool requireUpperCase,
            bool requireLowerCase,
            bool requireDigits,
            bool requireSpecialCharacters,
            int minLength,
            bool passwordIsValid,
            bool passwordViolatesMinLength,
            bool passwordMustHaveUpperCaseLetters,
            bool passwordMustHaveLowerCaseLetters,
            bool passwordMustHaveDigits,
            bool passwordMustHaveSpecialCharacters)
        {
            // Arrange
            var options = new IdentityOptions
            {
                Password = new PasswordOptions
                {
                    RequiredLength         = minLength,
                    RequireUppercase       = requireUpperCase,
                    RequireLowercase       = requireLowerCase,
                    RequireDigit           = requireDigits,
                    RequireNonAlphanumeric = requireSpecialCharacters
                }
            };

            var userManager = CreateUserManager(options);
            var target      = new PasswordCheckService(userManager);

            // Act
            var result = await target.ValidatePasswordAsync(password);

            // Assert
            Assert.Equal(passwordIsValid, result.PasswordIsValid);

            Assert.Equal(minLength, result.MinPasswordLength);
            Assert.Equal(passwordViolatesMinLength, result.PasswordViolatesMinLength);
            Assert.Equal(passwordMustHaveUpperCaseLetters, result.PasswordMustHaveUpperCaseLetters);
            Assert.Equal(passwordMustHaveLowerCaseLetters, result.PasswordMustHaveLowerCaseLetters);
            Assert.Equal(passwordMustHaveDigits, result.PasswordMustHaveDigits);
            Assert.Equal(passwordMustHaveSpecialCharacters, result.PasswordMustHaveSpecialCharacters);
        }
Пример #3
0
 public void Initialize()
 {
     passwordCheckService = new PasswordCheckService();
 }