public void ValidatorConfiguration_ReadEmailValidatorConfiguration_MultipleValidators() { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ValidatorsSection validatorsSection = configuration.GetSection("Enkoni.Validators.TestCase07") as ValidatorsSection; Assert.IsNotNull(validatorsSection); Assert.AreEqual(2, validatorsSection.EmailValidators.Count); Assert.IsNotNull(validatorsSection.EmailValidators[string.Empty]); Assert.IsNotNull(validatorsSection.EmailValidators["TestValidator"]); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].AllowComments); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].AllowIPAddresses); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].RequireTopLevelDomain); Assert.IsTrue(validatorsSection.EmailValidators["TestValidator"].AllowComments); Assert.IsTrue(validatorsSection.EmailValidators["TestValidator"].AllowIPAddresses); Assert.IsTrue(validatorsSection.EmailValidators["TestValidator"].RequireTopLevelDomain); Assert.AreEqual(1, validatorsSection.EmailValidators[string.Empty].IncludeDomains.Count); Assert.AreEqual(0, validatorsSection.EmailValidators[string.Empty].ExcludeDomains.Count); Assert.IsNotNull(validatorsSection.EmailValidators[string.Empty].IncludeDomains["gmail.com"]); Assert.AreEqual("gmail.com", validatorsSection.EmailValidators[string.Empty].IncludeDomains["gmail.com"].Pattern); Assert.IsNull(validatorsSection.EmailValidators[string.Empty].IncludeDomains["yahoo.com"]); Assert.AreEqual(0, validatorsSection.EmailValidators["TestValidator"].IncludeDomains.Count); Assert.AreEqual(1, validatorsSection.EmailValidators["TestValidator"].ExcludeDomains.Count); Assert.IsNotNull(validatorsSection.EmailValidators["TestValidator"].ExcludeDomains["yahoo.com"]); Assert.AreEqual("yahoo.com", validatorsSection.EmailValidators["TestValidator"].ExcludeDomains["yahoo.com"].Pattern); }
public void ValidatorConfiguration_ValidatorsSection() { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ValidatorsSection validatorsSection = configuration.GetSection("Enkoni.Validators") as ValidatorsSection; Assert.IsNotNull(validatorsSection); Assert.IsNotNull(validatorsSection.DutchPhoneNumberValidators); Assert.AreEqual(2, validatorsSection.DutchPhoneNumberValidators.Count); Assert.IsNotNull(validatorsSection.EmailValidators); Assert.AreEqual(2, validatorsSection.EmailValidators.Count); }
public void ValidatorConfiguration_ReadDutchPhoneNumberValidatorConfiguration_ClearAreaCodes() { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ValidatorsSection validatorsSection = configuration.GetSection("Enkoni.Validators.TestCase02") as ValidatorsSection; Assert.IsNotNull(validatorsSection); Assert.AreEqual(1, validatorsSection.DutchPhoneNumberValidators.Count); Assert.IsTrue(validatorsSection.DutchPhoneNumberValidators[string.Empty].AllowCountryCallingCode); Assert.IsFalse(validatorsSection.DutchPhoneNumberValidators[string.Empty].AllowCarrierPreselect); Assert.AreEqual(1, validatorsSection.DutchPhoneNumberValidators[string.Empty].AreaCodes.Count); Assert.IsNotNull(validatorsSection.DutchPhoneNumberValidators[string.Empty].AreaCodes["0123"]); Assert.AreEqual("0123", validatorsSection.DutchPhoneNumberValidators[string.Empty].AreaCodes["0123"].AreaCode); }
public void ValidatorConfiguration_ReadEmailValidatorConfiguration_Default() { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ValidatorsSection validatorsSection = configuration.GetSection("Enkoni.Validators.TestCase05") as ValidatorsSection; Assert.IsNotNull(validatorsSection); Assert.IsNotNull(validatorsSection.EmailValidators); Assert.AreEqual(2, validatorsSection.EmailValidators.Count); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].AllowComments); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].AllowIPAddresses); Assert.IsFalse(validatorsSection.EmailValidators[string.Empty].RequireTopLevelDomain); Assert.AreEqual(0, validatorsSection.EmailValidators[string.Empty].IncludeDomains.Count); Assert.AreEqual(0, validatorsSection.EmailValidators[string.Empty].ExcludeDomains.Count); }
/// <summary>Reads the configuration and sets the configured values.</summary> /// <param name="sectionName">The name of the config section that must be read. Use <see langword="null"/> or <see cref="string.Empty"/> to use the default section name.</param> /// <returns>The values that were read from the configuration or <see langword="null"/> if there was no configuration.</returns> private static Dictionary <string, ConfiguredValuesContainer> ReadConfiguration(string sectionName) { if (string.IsNullOrEmpty(sectionName)) { sectionName = ValidatorsSection.DefaultSectionName; } ValidatorsSection validatorsSection = ConfigurationManager.GetSection(sectionName) as ValidatorsSection; if (validatorsSection == null || validatorsSection.EmailValidators.Count == 0) { return(null); } Dictionary <string, ConfiguredValuesContainer> configuredValues = new Dictionary <string, ConfiguredValuesContainer>(); foreach (EmailValidatorConfigElement validatorConfig in validatorsSection.EmailValidators.Values) { ConfiguredValuesContainer valuesContainer = new ConfiguredValuesContainer { AllowComments = validatorConfig.AllowComments, AllowIPAddresses = validatorConfig.AllowIPAddresses, RequireTopLevelDomain = validatorConfig.RequireTopLevelDomain }; List <string> configuredIncludeDomains = new List <string>(validatorConfig.IncludeDomains.Count); foreach (EmailDomainConfigElement domain in validatorConfig.IncludeDomains) { configuredIncludeDomains.Add(domain.Pattern); } List <string> configuredExcludeDomains = new List <string>(validatorConfig.ExcludeDomains.Count); foreach (EmailDomainConfigElement domain in validatorConfig.ExcludeDomains) { configuredExcludeDomains.Add(domain.Pattern); } valuesContainer.IncludeDomains = string.Join(";", configuredIncludeDomains.ToArray()); valuesContainer.ExcludeDomains = string.Join(";", configuredExcludeDomains.ToArray()); configuredValues.Add(validatorConfig.Name, valuesContainer); } return(configuredValues); }
/// <summary>Reads the configuration and sets the configured values.</summary> /// <param name="sectionName">The name of the config section that must be read. Use <see langword="null"/> or <see cref="string.Empty"/> to use the default section name.</param> /// <returns>The values that were read from the configuration or <see langword="null"/> if there was no configuration.</returns> private static Dictionary <string, ConfiguredValuesContainer> ReadConfiguration(string sectionName) { if (string.IsNullOrEmpty(sectionName)) { sectionName = ValidatorsSection.DefaultSectionName; } ValidatorsSection validatorsSection = ConfigurationManager.GetSection(sectionName) as ValidatorsSection; if (validatorsSection == null || validatorsSection.DutchPhoneNumberValidators.Count == 0) { return(null); } Dictionary <string, ConfiguredValuesContainer> configuredValues = new Dictionary <string, ConfiguredValuesContainer>(); foreach (DutchPhoneNumberValidatorConfigElement validatorConfig in validatorsSection.DutchPhoneNumberValidators.Values) { List <string> configuredAreaCodes = new List <string>(validatorConfig.AreaCodes.Count); foreach (DutchPhoneNumberAreaCodeConfigElement areaCode in validatorConfig.AreaCodes) { configuredAreaCodes.Add(areaCode.AreaCode.TrimStart('0')); } string[] defaultAreaCodes = Resources.AreaCodes_NL.Split(';'); IEnumerable <string> difference = defaultAreaCodes.Except(configuredAreaCodes); difference.Concat(configuredAreaCodes.Except(defaultAreaCodes)); ConfiguredValuesContainer valuesContainer = new ConfiguredValuesContainer { AllowCountryCallingCode = validatorConfig.AllowCountryCallingCode, AllowCarrierPreselect = validatorConfig.AllowCarrierPreselect, AreaCodesOverridden = difference.Any(), AreaCodes = string.Join(";", configuredAreaCodes.ToArray()) }; configuredValues.Add(validatorConfig.Name, valuesContainer); } return(configuredValues); }