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);
 }
Beispiel #6
0
        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"));
 }
Beispiel #15
0
        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);
    }
Beispiel #18
0
        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);
        }
Beispiel #19
0
        public void Validate_NeedsLetter_PassValidation()
        {
            var settings = new PasswordValidationSettings {
                MinimumPasswordLength = 2, NeedsLetter = true
            };
            var validator = new Validator(settings);

            Assert.IsTrue(validator.Validate("Z1"));
        }
Beispiel #20
0
        public void Validate_FemaleName_FailsValidation()
        {
            var settings = new PasswordValidationSettings();

            settings.StandardWordLists.Add(StandardWordList.FemaleNames);
            var validator = new StandardWordListValidationHandler(settings);

            Assert.IsFalse(validator.Validate("CaThErInE"));
        }
Beispiel #21
0
        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);
 }
Beispiel #23
0
        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);
        }
Beispiel #25
0
        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);
 }
Beispiel #27
0
        public void Validate_1CharacterPassword_FailValidation()
        {
            var settings = new PasswordValidationSettings {
                MinimumPasswordLength = 8
            };
            var validator    = new Validator(settings);
            var actualResult = validator.Validate("1");

            Assert.IsFalse(actualResult);
        }
Beispiel #28
0
        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);
        }
Beispiel #29
0
        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"));
        }
Beispiel #30
0
        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"));
        }
Beispiel #31
0
        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);
        }
Beispiel #36
0
        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);
        }
Beispiel #37
0
        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);
        }
Beispiel #39
0
        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"));
        }
Beispiel #40
0
        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));
        }
Beispiel #42
0
        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"));
 }
Beispiel #49
0
        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"));
 }