public async Task Then_password_is_validated_correctly(string newpassword, bool expectedValidity) { var dbContextOptions = new DbContextOptionsBuilder <LoginContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; var _loginContext = new LoginContext(dbContextOptions); _loginContext.InvalidPasswords.Add(new InvalidPassword() { Password = "******" }); _loginContext.InvalidPasswords.Add(new InvalidPassword() { Password = "******" }); _loginContext.InvalidPasswords.Add(new InvalidPassword() { Password = "******" }); await _loginContext.SaveChangesAsync(); var validator = new CustomPasswordValidator <LoginUser>(Substitute.For <ILogger <CustomPasswordValidator <LoginUser> > >(), _loginContext); var userManager = new UserManager <LoginUser>(Substitute.For <IUserStore <LoginUser> >(), Substitute.For <IOptions <IdentityOptions> >(), Substitute.For <IPasswordHasher <LoginUser> >() , Substitute.For <IEnumerable <IUserValidator <LoginUser> > >(), new List <IPasswordValidator <LoginUser> >(), Substitute.For <ILookupNormalizer>(), new IdentityErrorDescriber(), Substitute.For <IServiceProvider>(), Substitute.For <ILogger <UserManager <LoginUser> > >()); var result = await validator.ValidateAsync(userManager, new LoginUser(), newpassword); (result == IdentityResult.Success).Should().Be(expectedValidity); }
private void CreateApplicationUserManager() { ClaimsIdentityFactory = new CustomClaimsIdentityFactory(); UserValidator = new CustomUserValidator <User, long>(this) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; PasswordValidator = new CustomPasswordValidator { RequiredLength = 5, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false }; UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; if (_dataProtectionProvider == null) { return; } var dataProtector = _dataProtectionProvider.Create("Asp.net Identity"); UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector); }
public void CheckStrength_Given_WeakString_ShouldReturn_Strong() { var validator = new CustomPasswordValidator(); var result = validator.CheckStrength(_validPassword); Assert.AreEqual(result, PasswordScore.Strong); }
//public override async Task<ApplicationUser> FindAsync(string userName, string password) //{ // return base.FindAsync(userName, password); //} public ApplicationUserManager(ApplicationDbContext context) : base(new UserStore <ApplicationUser>(context)) { PasswordValidator = new CustomPasswordValidator(1); this.UserValidator = new UserValidator <ApplicationUser>(this) { AllowOnlyAlphanumericUserNames = false }; }
public ApplicationUserManager(IUserStore <ApplicationUser> store) : base(store) { UserValidator = new CustomUserValidator(this); PasswordValidator = new CustomPasswordValidator(4); UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; EmailService = new EmailService(); }
public void SetUp() { var dbContextOptions = new DbContextOptionsBuilder <LoginContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()) .Options; _loginContext = new LoginContext(dbContextOptions); _validator = new CustomPasswordValidator <LoginUser>(Substitute.For <ILogger <CustomPasswordValidator <LoginUser> > >(), _loginContext); _userManager = new UserManager <LoginUser>(Substitute.For <IUserStore <LoginUser> >(), Substitute.For <IOptions <IdentityOptions> >(), Substitute.For <IPasswordHasher <LoginUser> >() , Substitute.For <IEnumerable <IUserValidator <LoginUser> > >(), new List <IPasswordValidator <LoginUser> >(), Substitute.For <ILookupNormalizer>(), new IdentityErrorDescriber(), Substitute.For <IServiceProvider>(), Substitute.For <ILogger <UserManager <LoginUser> > >()); }
public bool PasswordTest_WrongData_FalseResult(string password) { CustomPasswordValidator customValidator = new CustomPasswordValidator(); try { customValidator.Validate(password); return(true); } catch (Exception) { return(false); } }
private void CreateApplicationUserManager() { ClaimsIdentityFactory = new CustomClaimsIdentityFactory(); UserValidator = new CustomUserValidator <User, long>(this) { AllowOnlyAlphanumericUserNames = false, RequireUniqueEmail = true }; PasswordValidator = new CustomPasswordValidator { RequiredLength = 5, RequireNonLetterOrDigit = false, RequireDigit = false, RequireLowercase = false, RequireUppercase = false }; UserLockoutEnabledByDefault = true; DefaultAccountLockoutTimeSpan = TimeSpan.FromMinutes(5); MaxFailedAccessAttemptsBeforeLockout = 5; //RegisterTwoFactorProvider("PhoneCode", new PhoneNumberTokenProvider<ApplicationUser, int> //{ // MessageFormat = "کد فعال سازی شما {0} است" //}); //RegisterTwoFactorProvider("EmailCode", new EmailTokenProvider<ApplicationUser, int> //{ // Subject = "کد فعال سازی", // BodyFormat = "کد فعال سازی شما {0} است" //}); if (_dataProtectionProvider == null) { return; } var dataProtector = _dataProtectionProvider.Create("Asp.net Identity"); UserTokenProvider = new DataProtectorTokenProvider <User, long>(dataProtector); }
public void CheckStrength_Given_EmptyString_ShouldThrowArgumentNullException() { var validator = new CustomPasswordValidator(); Assert.Throws <ArgumentNullException>(() => validator.CheckStrength(string.Empty)); }