예제 #1
0
        public void IsValid_GivenPositionEqualityMode_ReturnsCorrectResult(char letter, int min, int max, string password, bool expectedResult)
        {
            var validation = new PasswordValidation(new PasswordRule(letter, min, max), password);

            var result = validation.IsValid(PasswordRuleMode.PositionEquality);

            Assert.AreEqual(expectedResult, result);
        }
예제 #2
0
        public void SenhaDeveSerNoMinimoAceitavel(string senha)
        {
            var password = new PasswordValidation(new PasswordSize(), new PasswordDigits(), new PasswordLowerCaseLetters(), new PasswordUpperCaseLetters(), new PasswordSpecialCharacters(), new PasswordRepeatedCharacters());

            var isValid = password.IsValid(senha);

            Assert.True(isValid, "A senha informada e invalida.");

            var forcaSenha = password.GetPasswordStrength();

            Assert.False((forcaSenha == PasswordStrength.Unacceptable || forcaSenha == PasswordStrength.Weak), $"A senha não é forte o suficiente.");
        }
예제 #3
0
        public async Task <bool> ValidateUser()
        {
            //if is valid:
            if (PasswordValidation.IsValid(user.Password))
            {
                ((CustomAuthenticationStateProvider)AuthenticationStateProvider).MarkUserAsAuthenticated(PasswordValidation.GetHash(user.Password));

                await sessionStorage.SetItemAsync("hash", PasswordValidation.GetHash(user.Password));

                NavigationManager.NavigateTo("/editing");
            }
            else
            {
                LoginMessage = "Access is denied! Try again";
            }

            return(await Task.Run(() => true));
        }
예제 #4
0
 public async Task <bool> ValidatePassword(string password)
 {
     return(await Task.FromResult <bool>(_passwordValidation.IsValid(password)));
 }
 private void EmptyStringShouldReturnFalse()
 => Assert.False(_validator.IsValid("", 5));