public async Task ValidateAsync_AggregatesOnlySyncErrors() { var validators = new List <INewPasswordValidatorBase>(); var asyncValidationError = new ValidationError("test-async"); var mockAsyncValidator = new Mock <IAsyncNewPasswordValidator>(); mockAsyncValidator .Setup(v => v.ValidateAsync(It.IsAny <INewPasswordValidationContext>())) .ReturnsAsync(asyncValidationError); validators.Add(mockAsyncValidator.Object); var maxLengthValidator = new MaxLengthNewPasswordValidator(); maxLengthValidator.Configure(6); validators.Add(maxLengthValidator); var uniqueCharsValidator = new MinUniqueCharactersNewPasswordValidator(); uniqueCharsValidator.Configure(5); validators.Add(uniqueCharsValidator); var policy = new PasswordPolicy("test", validators, new Dictionary <string, string>()); var context = new NewPasswordValidationContext() { Password = "******" }; var errors = await policy.ValidateAsync(context); errors.Should().HaveCount(2); errors.Should().NotContain(asyncValidationError); }
public void WhenNotSequential_ReturnsSuccess(string password) { var validator = new NotSequentialNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = password }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenNotEmail_ReturnsSuccess() { var validator = new NotBePersonalDataNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", Email = "*****@*****.**" }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenNotUsername_ReturnsSuccess() { var validator = new NotBePersonalDataNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", Username = "******" }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenSequential_ReturnsError(string password) { var validator = new NotSequentialNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = password }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.NotSequential.ErrorCode); }
public void WhenNotCurrant_ReturnsSuccess() { var validator = new NotCurrentPasswordNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", CurrentPassword = "******" }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenUsername_ReturnsError() { var validator = new NotBePersonalDataNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", Username = "******" }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.NotPersonalData.Username.ErrorCode); }
public void WhenEmail_ReturnsError() { var validator = new NotBePersonalDataNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", Email = "*****@*****.**" }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.NotPersonalData.Email.ErrorCode); }
public void WhenCurrent_ReturnsError() { var validator = new NotCurrentPasswordNewPasswordValidator(); var context = new NewPasswordValidationContext() { Password = "******", CurrentPassword = "******" }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.NotCurrentPassword.ErrorCode); }
public void WhenMoreThanMin_ReturnsSuccess(string password) { var validator = new MinUniqueCharactersNewPasswordValidator(); validator.Configure(3); var context = new NewPasswordValidationContext() { Password = password }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenLessThanMaxLength_ReturnsSuccess(string password) { var validator = new MaxLengthNewPasswordValidator(); validator.Configure(8); var context = new NewPasswordValidationContext() { Password = password }; var result = validator.Validate(context); result.Should().BeNull(); }
public void WhenLessThanMin_ReturnsError(string password) { var validator = new MinUniqueCharactersNewPasswordValidator(); validator.Configure(3); var context = new NewPasswordValidationContext() { Password = password }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.MinUniqueCharacters.ErrorCode); }
public void WhenMoreThanMaxLength_ReturnsError() { var validator = new MaxLengthNewPasswordValidator(); validator.Configure(8); var context = new NewPasswordValidationContext() { Password = "******" }; var result = validator.Validate(context); result.Should().NotBeNull(); result.ErrorCode.Should().Be(PasswordPolicyValidationErrors.MaxLengthExceeded.ErrorCode); }