public void ConstructHandler_SettingsHandler_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var constructor = new ValidationHandlerConstructor(typeof(ConcreteSettingsBasedValdiationHandler), s => true); var result = constructor.ConstructHandler(settings); Assert.IsInstanceOf<ConcreteSettingsBasedValdiationHandler>(result); }
private static MinimumLengthValidationHandler GetMinimumLengthValidationHandler() { var settings = new PasswordValidationSettings(); settings.MinimumPasswordLength = 6; var handler = new MinimumLengthValidationHandler(settings); return handler; }
public void Validate_FemaleName_FailsValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new StandardWordListValidationHandler(settings); Assert.IsFalse(validator.Validate("CaThErInE")); }
public void Validate_StandardWordListFemaleNames_PassValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new StandardWordListValidationHandler(settings); Assert.IsTrue(validator.Validate("OlIvEr")); }
public void ConstructHandler_SimpleValidation_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var constructor = new ValidationHandlerConstructor(typeof(AlwaysFailValidationHandler), s=>true); var result = constructor.ConstructHandler(settings); Assert.IsInstanceOf<AlwaysFailValidationHandler>(result); }
public void InterfaceStandardWordLists_Constructed_AnEmptyCollection() { PasswordValidationSettings settings = new PasswordValidationSettings(); IPasswordValidationSettings iSettings = settings; Assert.AreEqual(0, iSettings.StandardWordLists.Count); }
public void GetValidationHandler_SimpleSettings_ReturnsValidationHandlerWithNoSuccessor() { var settings = new PasswordValidationSettings(); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf<MinimumLengthValidationHandler>(result.Handler); Assert.IsNull(result.Successor); }
public void Remove_AddedSettingsAreRemoved_ThrowsExceptionWhenRemovedKeyIsSubsequentlyUsed() { PasswordValidationSettings settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add("EphemeralKey", settings); PasswordValidationSettingsCache.Remove("EphemeralKey"); PasswordValidationSettingsCache.Get("EphemeralKey"); }
public void Get_RetrievesTheSettingsAdded_SettingsAreRetrieved() { PasswordValidationSettings settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add("myKey", settings); var result = PasswordValidationSettingsCache.Get("myKey"); Assert.AreSame(settings, result); }
public void Validate_PasswordHasSymbol_PassesValidation() { var settings = new PasswordValidationSettings(); settings.NeedsSymbol = true; var handler = new NeedsSymbolValidationHandler(); var result = handler.Validate("ThisHas@Symbol"); Assert.IsTrue(result); }
public void Remove_AddedSettingsAreRemoved_ThrowsExceptionWhenRemovedKeyIsSubsequentlyUsed() { PasswordValidationSettings settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add("EphemeralKey", settings); PasswordValidationSettingsCache.Remove("EphemeralKey"); PasswordValidationSettingsCache.Get("EphemeralKey"); }
public void GetValidationHandler_SimpleSettings_ReturnsValidationHandlerWithNoSuccessor() { var settings = new PasswordValidationSettings(); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsNull(result.Successor); }
public void Validate_CustomWordLists_PassValidation() { var settings = new PasswordValidationSettings(); settings.CustomWordLists.Add("TestHelpers\\Files\\MyCustomWordList.txt"); settings.CustomWordLists.Add("TestHelpers\\Files\\MyOtherCustomWordList.txt"); var validator = new CustomWordListValidationHandler(settings); Assert.IsTrue(validator.Validate("ThisPasswordWorks")); }
public void Validate_CustomWordLists_FailValidation() { var settings = new PasswordValidationSettings(); settings.CustomWordLists.Add("TestHelpers\\Files\\MyCustomWordList.txt"); settings.CustomWordLists.Add("TestHelpers\\Files\\MyOtherCustomWordList.txt"); var validator = new CustomWordListValidationHandler(settings); Assert.IsFalse(validator.Validate("YetAnotherInvalidPassword")); }
public void ConstructHandler_SimpleValidation_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var constructor = new ValidationHandlerConstructor(typeof(AlwaysFailValidationHandler), s => true); var result = constructor.ConstructHandler(settings); Assert.IsInstanceOf <AlwaysFailValidationHandler>(result); }
public void Validate_8CharacterPassword_PassValidaton() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 8 }; var validator = new Validator(settings); var actualResult = validator.Validate("12345678"); Assert.IsTrue(actualResult); }
public void Validate_1CharacterPassword_FailValidation() { var settings = new PasswordValidationSettings {MinimumPasswordLength = 8}; var validator = new Validator(settings); var actualResult = validator.Validate("1"); Assert.IsFalse(actualResult); }
public void ConstructHandler_SettingsHandler_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var constructor = new ValidationHandlerConstructor(typeof(ConcreteSettingsBasedValdiationHandler), s => true); var result = constructor.ConstructHandler(settings); Assert.IsInstanceOf <ConcreteSettingsBasedValdiationHandler>(result); }
public void Validate_NeedsLetter_PassValidation() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 2, NeedsLetter = true }; var validator = new Validator(settings); Assert.IsTrue(validator.Validate("Z1")); }
public void Validate_FemaleName_FailsValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new StandardWordListValidationHandler(settings); Assert.IsFalse(validator.Validate("CaThErInE")); }
public void Validate_NeedsNumber_FailsValidation() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 2, NeedsNumber = true }; var validator = new Validator(settings); Assert.IsFalse(validator.Validate("ab")); }
public void GetValidationHandler_NeedsLetter_ReturnsTwoChainedHandlers() { var settings = new PasswordValidationSettings(); settings.NeedsLetter = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf<MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf<NeedsLetterValidationHandler>(result.Successor.Handler); Assert.IsNull(result.Successor.Successor); }
public void Validate_StandardWordListFemaleNames_PassValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new Validator(settings); Assert.IsTrue(validator.Validate("CoLiN")); }
private static MinimumLengthValidationHandler GetMinimumLengthValidationHandler() { var settings = new PasswordValidationSettings(); settings.MinimumPasswordLength = 6; var handler = new MinimumLengthValidationHandler(settings); return(handler); }
public void Validate_StandardWordListFemaleNames_FailValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new Validator(settings); Assert.IsFalse(validator.Validate("CaTrIoNa")); }
public void ConstructionHandler_CustomHandler_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var testCustomData = new TestCustomData(); settings.CustomSettings.Add(typeof(TestCustomDataHandler), testCustomData); var constructor = new ValidationHandlerConstructor(typeof (TestCustomDataHandler), (s) => true); var constructionResult = constructor.ConstructHandler(settings); Assert.IsInstanceOf<TestCustomDataHandler>(constructionResult); }
public void Validate_1CharacterPassword_FailValidation() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 8 }; var validator = new Validator(settings); var actualResult = validator.Validate("1"); Assert.IsFalse(actualResult); }
public void Validate_CustomValidator_FailValidation() { IPasswordValidationSettings settings = new PasswordValidationSettings(); settings.CustomValidators.Add(typeof(AlwaysFailValidationHandler)); var validator = new Validator(settings); var result = validator.Validate("ThisIsMyPassword"); Assert.IsFalse(result); }
public void Validate_CustomWordLists_PassValidation() { var settings = new PasswordValidationSettings(); settings.CustomWordLists.Add("TestHelpers\\Files\\MyCustomWordList.txt"); settings.CustomWordLists.Add("TestHelpers\\Files\\MyOtherCustomWordList.txt"); var validator = new Validator(settings); Assert.IsTrue(validator.Validate("ThisPasswordWorks")); }
public void Validate_CustomWordLists_FailValidation() { var settings = new PasswordValidationSettings(); settings.CustomWordLists.Add("TestHelpers\\Files\\MyCustomWordList.txt"); settings.CustomWordLists.Add("TestHelpers\\Files\\MyOtherCustomWordList.txt"); var validator = new Validator(settings); Assert.IsFalse(validator.Validate("YetAnotherInvalidPassword")); }
public void Validate_8CharacterPassword_PassValidaton() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 8 }; var validator = new Validator(settings); var actualResult = validator.Validate("12345678"); Assert.IsTrue(actualResult); }
public void Validate_AllStandardWordLists_FailValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); settings.StandardWordLists.Add(StandardWordList.MaleNames); settings.StandardWordLists.Add(StandardWordList.Surnames); settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); var validator = new StandardWordListValidationHandler(settings); Assert.IsFalse(validator.Validate("PaSsWoRd")); }
public void Get_RetrievesTheSettingsAdded_SettingsAreRetrieved() { PasswordValidationSettings settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add("myKey", settings); var result = PasswordValidationSettingsCache.Get("myKey"); Assert.AreSame(settings, result); }
public void getValidationHandler_NeedsSymbolIsTrue_ReturnsChainWithNeedsSymbolValidator() { var settings = new PasswordValidationSettings(); settings.NeedsSymbol = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <NeedsSymbolValidationHandler>(result.Successor.Handler); }
public void GetValidationHandler_CustomValidationHandler_ReturnsChainWithCustomHandler() { var settings = new PasswordValidationSettings(); settings.CustomValidators.Add(typeof(AlwaysFailsValidationHandler)); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <AlwaysFailsValidationHandler>(result.Successor.Handler); }
public void Validate_PasswordHasSymbol_PassesValidation() { var settings = new PasswordValidationSettings(); settings.NeedsSymbol = true; var handler = new NeedsSymbolValidationHandler(); var result = handler.Validate("ThisHas@Symbol"); Assert.IsTrue(result); }
public void ConstructionHandler_CustomHandler_TheNewValidationHandlerObject() { var settings = new PasswordValidationSettings(); var testCustomData = new TestCustomData(); settings.CustomSettings.Add(typeof(TestCustomDataHandler), testCustomData); var constructor = new ValidationHandlerConstructor(typeof(TestCustomDataHandler), (s) => true); var constructionResult = constructor.ConstructHandler(settings); Assert.IsInstanceOf <TestCustomDataHandler>(constructionResult); }
public void GetValidationHandler_NeedsLetter_ReturnsTwoChainedHandlers() { var settings = new PasswordValidationSettings(); settings.NeedsLetter = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf <MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf <NeedsLetterValidationHandler>(result.Successor.Handler); Assert.IsNull(result.Successor.Successor); }
public void Validate_AllStandardWordLists_PassValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); settings.StandardWordLists.Add(StandardWordList.MaleNames); settings.StandardWordLists.Add(StandardWordList.Surnames); settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); var validator = new Validator(settings); Assert.IsTrue(validator.Validate("123ThisIsMyPassPhrase321")); }
public void Validate_AllStandardWordLists_FailValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); settings.StandardWordLists.Add(StandardWordList.MaleNames); settings.StandardWordLists.Add(StandardWordList.Surnames); settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); var validator = new Validator(settings); Assert.IsFalse(validator.Validate("LetMeIn")); }
public ActionResult Index(ManuallyRunningTheValidatorModel model) { var settings = new PasswordValidationSettings(); settings.MinimumPasswordLength = 6; settings.NeedsLetter = true; settings.NeedsNumber = true; settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); var validator = new Validator(settings); bool result = validator.Validate(model.Password); model.IsPasswordAcceptable = result; return(View("ManuallyRunningTheValidator", model)); }
public static void Register() { PasswordValidatorRegistration.Register(); var settings = new PasswordValidationSettings(); settings.NeedsNumber = true; settings.NeedsSymbol = true; settings.MinimumPasswordLength = 6; settings.StandardWordLists.Add(StandardWordList.FemaleNames); settings.StandardWordLists.Add(StandardWordList.MaleNames); settings.StandardWordLists.Add(StandardWordList.Surnames); settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); settings.CustomValidators.Add(typeof(NoDatesValidationHandler)); settings.WordListProcessOptions.CustomBuilders.Add(typeof(NumericPrefixBuilder)); PasswordValidationSettingsCache.Add("NoDates", settings); settings = new PasswordValidationSettings(); settings.MinimumPasswordLength = 6; settings.CustomValidators.Add(typeof(PasswordHistoryValidationHandler)); settings.CustomSettings.Add(typeof(PasswordHistoryValidationHandler), new Repository()); PasswordValidationSettingsCache.Add("History", settings); }
public void getValidationHandler_NeedsSymbolIsTrue_ReturnsChainWithNeedsSymbolValidator() { var settings = new PasswordValidationSettings(); settings.NeedsSymbol = true; var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf<MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf<NeedsSymbolValidationHandler>(result.Successor.Handler); }
public void GetValidationHandler_CustomValidationHandler_ReturnsChainWithCustomHandler() { var settings = new PasswordValidationSettings(); settings.CustomValidators.Add(typeof(AlwaysFailsValidationHandler)); var result = ValidationServiceLocator.GetValidationHandlerChain(settings); Assert.IsInstanceOf<MinimumLengthValidationHandler>(result.Handler); Assert.IsInstanceOf<AlwaysFailsValidationHandler>(result.Successor.Handler); }
public void Add_NullKey_ThrowsException() { var settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add(null, settings); }
public void Add_NullKey_ThrowsException() { var settings = new PasswordValidationSettings(); PasswordValidationSettingsCache.Add(null, settings); }
public void StandardWordLists_Constructed_AnEmptyList() { PasswordValidationSettings settings = new PasswordValidationSettings(); Assert.AreEqual(0, settings.StandardWordLists.Count); }
public void Validate_NeedsNumber_PassValidation() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 2, NeedsNumber = true }; var validator = new Validator(settings); Assert.IsTrue(validator.Validate("z1")); }
public void StandardWordLists_Constructed_AnEmptyList() { PasswordValidationSettings settings = new PasswordValidationSettings(); Assert.AreEqual(0, settings.StandardWordLists.Count); }
public void InterfaceStandardWordLists_Constructed_AnEmptyCollection() { PasswordValidationSettings settings = new PasswordValidationSettings(); IPasswordValidationSettings iSettings = settings; Assert.AreEqual(0, iSettings.StandardWordLists.Count); }
public void Validate_NeedsLetter_FailsValidation() { var settings = new PasswordValidationSettings { MinimumPasswordLength = 2, NeedsLetter = true }; var validator = new Validator(settings); Assert.IsFalse(validator.Validate("12")); }
public void Validate_CustomValidator_FailValidation() { IPasswordValidationSettings settings = new PasswordValidationSettings(); settings.CustomValidators.Add(typeof(AlwaysFailValidationHandler)); var validator = new Validator(settings); var result = validator.Validate("ThisIsMyPassword"); Assert.IsFalse(result); }
public void Validate_AllStandardWordLists_PassValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); settings.StandardWordLists.Add(StandardWordList.MaleNames); settings.StandardWordLists.Add(StandardWordList.Surnames); settings.StandardWordLists.Add(StandardWordList.MostCommon500Passwords); var validator = new Validator(settings); Assert.IsTrue(validator.Validate("123ThisIsMyPassPhrase321")); }
public void Validate_StandardWordListFemaleNames_FailValidation() { var settings = new PasswordValidationSettings(); settings.StandardWordLists.Add(StandardWordList.FemaleNames); var validator = new Validator(settings); Assert.IsFalse(validator.Validate("CaTrIoNa")); }