public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings      rwSettings      = new MockValidationSettings();
            EnumConversionValidatorData rwValidatorData = new EnumConversionValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated  = true;
            rwValidatorData.EnumType = typeof(MockEnumValidator);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(EnumConversionValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((EnumConversionValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(typeof(MockEnumValidator), ((EnumConversionValidatorData)roSettings.Validators.Get(0)).EnumType);
            }
        }
コード例 #2
0
        public void CanDeserializeSerializedInstanceWithNameAndTargetRuleset()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            ObjectValidatorData    rwValidatorData = new ObjectValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.TargetRuleset = "ruleset";

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(ObjectValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual("ruleset", ((ObjectValidatorData)roSettings.Validators.Get(0)).TargetRuleset);
            }
        }
コード例 #3
0
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            RegexValidatorData     rwValidatorData = new RegexValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(RegexValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual("", ((RegexValidatorData)roSettings.Validators.Get(0)).Pattern);
                Assert.AreEqual("", ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceName);
                Assert.AreEqual(null, ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceType);
                Assert.AreEqual(RegexOptions.None, ((RegexValidatorData)roSettings.Validators.Get(0)).Options);
                Assert.AreEqual(false, ((RegexValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
コード例 #4
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings          rwSettings      = new MockValidationSettings();
            ContainsCharactersValidatorData rwValidatorData = new ContainsCharactersValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.CharacterSet       = "abc";
            rwValidatorData.ContainsCharacters = ContainsCharacters.All;


            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(ContainsCharactersValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual("abc", ((ContainsCharactersValidatorData)roSettings.Validators.Get(0)).CharacterSet);
                Assert.AreEqual(ContainsCharacters.All, ((ContainsCharactersValidatorData)roSettings.Validators.Get(0)).ContainsCharacters);
            }
        }
コード例 #5
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            RegexValidatorData     rwValidatorData = new RegexValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Pattern             = "pattern";
            rwValidatorData.PatternResourceName = RegexResourceName1;
            rwValidatorData.PatternResourceType = typeof(Resources);
            rwValidatorData.Negated             = true;
            rwValidatorData.Options             = RegexOptions.Multiline | RegexOptions.IgnoreCase;

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(RegexValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual("pattern", ((RegexValidatorData)roSettings.Validators.Get(0)).Pattern);
                Assert.AreEqual(RegexResourceName1, ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceName);
                Assert.AreEqual(typeof(Resources), ((RegexValidatorData)roSettings.Validators.Get(0)).PatternResourceType);
                Assert.AreEqual(RegexOptions.Multiline | RegexOptions.IgnoreCase, ((RegexValidatorData)roSettings.Validators.Get(0)).Options);
                Assert.AreEqual(true, ((RegexValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
コード例 #6
0
        private static ClusterConfigClientSettings Initialize()
        {
            try
            {
                var folder = FolderLocator.Locate(AppDomain.CurrentDomain.BaseDirectory, ClusterConfigClientDefaults.LocalFolder);
                if (!folder.Exists)
                {
                    return(Default);
                }

                var file = new FileInfo(Path.Combine(folder.FullName, ClusterConfigClientDefaults.ConfigurationFile));
                if (!file.Exists)
                {
                    return(Default);
                }

                var fileParser = new FileParser(new FileParserSettings());

                var fileSettings = fileParser.Parse(file);
                if (fileSettings == null)
                {
                    return(Default);
                }

                var settings = new ClusterConfigClientSettings();

                ConfigurationFileHelper.Apply(fileSettings, settings);

                return(settings);
            }
            catch
            {
                return(Default);
            }
        }
コード例 #7
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            DomainValidatorData    rwValidatorData = new DomainValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated = true;
            rwValidatorData.Domain.Add(new DomainConfigurationElement("1"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("2"));
            rwValidatorData.Domain.Add(new DomainConfigurationElement("3"));

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(DomainValidator <object>), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((DomainValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(3, ((DomainValidatorData)roSettings.Validators.Get(0)).Domain.Count);
            }
        }
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            RangeValidatorData     rwValidatorData = new RangeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated        = true;
            rwValidatorData.Culture        = CultureInfo.GetCultureInfo("nl-NL");
            rwValidatorData.LowerBound     = "12";
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = "24";
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(RangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RangeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual("12", ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual("24", ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((RangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(CultureInfo.GetCultureInfo("nl-NL"), rwValidatorData.Culture);
            }
        }
コード例 #9
0
        public void CanDeserializeSerializedSectionWithTypeWithEmptyNamedRule()
        {
            ValidationSettings     rwSettings   = new ValidationSettings();
            ValidatedTypeReference rwStringType = new ValidatedTypeReference(typeof(string));

            rwSettings.Types.Add(rwStringType);
            rwStringType.Rulesets.Add(new ValidationRulesetData("ruleset"));

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                ValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as ValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Types.Count);
                Assert.AreEqual(typeof(string).FullName, roSettings.Types.Get(0).Name);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Count);
                Assert.AreEqual("ruleset", roSettings.Types.Get(0).Rulesets.Get(0).Name);
            }
        }
        public void CanDeserializeSerializedInstanceWithNameOnly()
        {
            MockValidationSettings    rwSettings      = new MockValidationSettings();
            StringLengthValidatorData rwValidatorData = new StringLengthValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(StringLengthValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(0, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Ignore, ((StringLengthValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(0, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((StringLengthValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(false, ((StringLengthValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
コード例 #11
0
        public void CanDeserializeSerializedInstanceWithChildValidators()
        {
            MockValidationSettings    rwSettings      = new MockValidationSettings();
            AndCompositeValidatorData rwValidatorData = new AndCompositeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Validators.Add(new MockValidatorData("child validator 1", false));
            rwValidatorData.Validators.Add(new MockValidatorData("child validator 2", false));

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(AndCompositeValidatorData), roSettings.Validators.Get(0).GetType());
                Assert.AreEqual(2, ((AndCompositeValidatorData)roSettings.Validators.Get(0)).Validators.Count);
                Assert.AreEqual("child validator 1", ((AndCompositeValidatorData)roSettings.Validators.Get(0)).Validators.Get(0).Name);
                Assert.AreEqual("child validator 2", ((AndCompositeValidatorData)roSettings.Validators.Get(0)).Validators.Get(1).Name);
            }
        }
コード例 #12
0
        public void CanDeserializeSerializedSectionWithTypeWithValidatorsForNamedRule()
        {
            ValidationSettings     rwSettings   = new ValidationSettings();
            ValidatedTypeReference rwStringType = new ValidatedTypeReference(typeof(string));

            rwSettings.Types.Add(rwStringType);
            ValidationRulesetData rwValidationRule = new ValidationRulesetData("ruleset");

            rwStringType.Rulesets.Add(rwValidationRule);
            ValidatorData rwValidatorData = new MockValidatorData("validator1", true);

            rwValidationRule.Validators.Add(rwValidatorData);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                ValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as ValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Types.Count);
                Assert.AreEqual(typeof(string).FullName, roSettings.Types.Get(0).Name);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Count);
                Assert.AreEqual("ruleset", roSettings.Types.Get(0).Rulesets.Get(0).Name);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Get(0).Validators.Count);
                Assert.AreEqual("validator1", roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0).Name);
                Assert.AreSame(typeof(MockValidatorData), roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0).GetType());
                Assert.AreEqual(true, ((MockValidatorData)roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0)).ReturnFailure);
            }
        }
コード例 #13
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            DateTime lowerBound = new DateTime(2006, 1, 1);
            DateTime upperBound = new DateTime(2006, 1, 10);

            MockValidationSettings     rwSettings      = new MockValidationSettings();
            DateTimeRangeValidatorData rwValidatorData = new DateTimeRangeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.LowerBound     = lowerBound;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.UpperBound     = upperBound;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Inclusive;

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(DateTimeRangeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(lowerBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(upperBound, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Inclusive, ((DateTimeRangeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
            }
        }
コード例 #14
0
        public void CanDeserializeSerializedInstanceWithNameAndTypeAndResourceMessageTemplateInformation()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            ValidatorData          rwValidatorData = new MockValidatorData("validator1", false);

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.MessageTemplateResourceName     = "message template name";
            rwValidatorData.MessageTemplateResourceTypeName = "my type";

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(MockValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(string.Empty, roSettings.Validators.Get(0).MessageTemplate);
                Assert.AreEqual("message template name", roSettings.Validators.Get(0).MessageTemplateResourceName);
                Assert.AreEqual("my type", roSettings.Validators.Get(0).MessageTemplateResourceTypeName);
                Assert.AreEqual(string.Empty, roSettings.Validators.Get(0).Tag);
            }
        }
        public void CanDeserializeSerializedInstanceWithNoChildValidators()
        {
            MockValidationSettings   rwSettings      = new MockValidationSettings();
            OrCompositeValidatorData rwValidatorData = new OrCompositeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.MessageTemplate = "Template";
            rwValidatorData.Tag             = "tag";

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(OrCompositeValidatorData), roSettings.Validators.Get(0).GetType());
                Assert.AreEqual(0, ((OrCompositeValidatorData)roSettings.Validators.Get(0)).Validators.Count);
                Assert.AreEqual("Template", ((OrCompositeValidatorData)roSettings.Validators.Get(0)).MessageTemplate);
                Assert.AreEqual("tag", ((OrCompositeValidatorData)roSettings.Validators.Get(0)).Tag);
            }
        }
コード例 #16
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings          rwSettings      = new MockValidationSettings();
            PropertyComparisonValidatorData rwValidatorData = new PropertyComparisonValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.ComparisonOperator = ComparisonOperator.GreaterThanEqual;
            rwValidatorData.PropertyToCompare  = "property";
            rwValidatorData.Negated            = true;

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(PropertyComparisonValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(ComparisonOperator.GreaterThanEqual, ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).ComparisonOperator);
                Assert.AreEqual("property", ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).PropertyToCompare);
                Assert.AreEqual(true, ((PropertyComparisonValidatorData)roSettings.Validators.Get(0)).Negated);
            }
        }
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings rwSettings      = new MockValidationSettings();
            CustomValidatorData    rwValidatorData = new CustomValidatorData("validator1", typeof(MockCustomValidator));

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Attributes.Add("returnFailure", "true");
            rwValidatorData.Attributes.Add("foo", "bar");

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(MockCustomValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(2, ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes.Count);
                Assert.AreEqual("true", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["returnFailure"]);
                Assert.AreEqual("bar", ((CustomValidatorData)roSettings.Validators.Get(0)).Attributes["foo"]);
            }
        }
コード例 #18
0
        public void CanDeserializeSerializedSectionWithNamedRuleSpecifyingMultipleValidatorsForField()
        {
            ValidationSettings     rwSettings   = new ValidationSettings();
            ValidatedTypeReference rwStringType = new ValidatedTypeReference(typeof(string));

            rwSettings.Types.Add(rwStringType);
            ValidationRulesetData rwValidationRule = new ValidationRulesetData("ruleset");

            rwStringType.Rulesets.Add(rwValidationRule);
            ValidatorData rwValidatorData = new MockValidatorData("validator1", true);

            rwValidationRule.Validators.Add(rwValidatorData);
            ValidatedFieldReference rwValidationFieldReference = new ValidatedFieldReference("System.Object.GetHashCode");

            rwValidationRule.Fields.Add(rwValidationFieldReference);
            ValidatorData rwFieldValidatorData1 = new MockValidatorData("ruleset-validator1", false);

            rwValidationFieldReference.Validators.Add(rwFieldValidatorData1);
            ValidatorData rwFieldValidatorData2 = new MockValidatorData("ruleset-validator2", false);

            rwValidationFieldReference.Validators.Add(rwFieldValidatorData2);

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                ValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as ValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Types.Count);
                Assert.AreEqual(typeof(string).FullName, roSettings.Types.Get(0).Name);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Count);
                Assert.AreEqual("ruleset", roSettings.Types.Get(0).Rulesets.Get(0).Name);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Get(0).Validators.Count);
                Assert.AreEqual("validator1", roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0).Name);
                Assert.AreSame(typeof(MockValidatorData), roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0).GetType());
                Assert.AreEqual(true, ((MockValidatorData)roSettings.Types.Get(0).Rulesets.Get(0).Validators.Get(0)).ReturnFailure);
                Assert.AreEqual(1, roSettings.Types.Get(0).Rulesets.Get(0).Fields.Count);
                Assert.AreEqual("System.Object.GetHashCode", roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Name);
                Assert.AreEqual(2, roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Count);
                Assert.AreEqual("ruleset-validator1", roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(0).Name);
                Assert.AreSame(typeof(MockValidatorData), roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(0).GetType());
                Assert.AreEqual(false, ((MockValidatorData)roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(0)).ReturnFailure);
                Assert.AreEqual("ruleset-validator2", roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(1).Name);
                Assert.AreSame(typeof(MockValidatorData), roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(1).GetType());
                Assert.AreEqual(false, ((MockValidatorData)roSettings.Types.Get(0).Rulesets.Get(0).Fields.Get(0).Validators.Get(1)).ReturnFailure);
            }
        }
コード例 #19
0
        public static void Main(string[] args)
        {
            RegisterIocModules();

            ConfigurationParameters config;

            if (!ConfigurationFileHelper.LoadConfiguration(args, out config))
            {
                ShowUsage();
                return;
            }

            List <SitecoreItem> sitecoreItems;

            if (!string.IsNullOrWhiteSpace(config.InputFileName))
            {
                System.Console.WriteLine($"Loading URL list from {config.InputFileName}");

                var inputFileUrlListRunner = new InputFileUrlListRunner(config);
                sitecoreItems = inputFileUrlListRunner.Run();
            }
            else
            {
                System.Console.WriteLine($"Root Node GUID: {config.RootNodeId}");

                var siteTreeTraversalRunner = new SiteTreeTraversalRunner(Container, config);
                sitecoreItems = siteTreeTraversalRunner.Run();
            }

            System.Console.WriteLine($"{sitecoreItems.Count} Sitecore URLs in content tree");

            if (config.ListUrls && string.IsNullOrWhiteSpace(config.InputFileName))
            {
                var listItemsRunner = new UrlListingRunner(config);
                listItemsRunner.Run(sitecoreItems);
                return;
            }

            if (config.RunHttpChecker)
            {
                var httpRunner = new HttpPageCheckerRunner(Container);
                httpRunner.Run(config, sitecoreItems);
            }
            if (config.RunWebDriverChecker)
            {
                var webDriverRunner = new WebDriverPageCheckerRunner();
                webDriverRunner.Run(config, sitecoreItems);
            }

            Environment.Exit(0);
        }
コード例 #20
0
        static LocalizationSettings()
        {
            cultures.Clear();
            cultures.AddRange(new List <CultureInfo>()
            {
                new CultureInfo("ru-RU"),
                new CultureInfo("en-US")
            });
            var culture = ConfigurationFileHelper.GetCulture();

            if (culture != null)
            {
                Culture = culture;
            }
        }
コード例 #21
0
        static DsConfigurationManager()
        {
            HostFileChangeMonitor hfcm = new HostFileChangeMonitor(new List <string> {
                ConfigurationFileHelper.GetRootConfigurationFilePath()
            });

            policy.ChangeMonitors.Add(hfcm);

            //FileSystemWatcher watcher = new FileSystemWatcher();
            //watcher.Path = watchPath;
            //watcher.Filter = "*.config";
            //watcher.NotifyFilter = NotifyFilters.Size;
            //watcher.Changed += new FileSystemEventHandler(watcher_Changed);
            //watcher.EnableRaisingEvents = true;
        }
コード例 #22
0
        public void CanDeserializeSerializedEmptySection()
        {
            ValidationSettings rwSettings = new ValidationSettings();
            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                ValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as ValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(0, roSettings.Types.Count);
            }
        }
コード例 #23
0
        /// <summary>
        /// 初始化环境参数
        /// </summary>
        /// <param name="dsConfig"></param>
        /// <param name="assemblyFullName"></param>
        private void InitializationDsEnvironment(IDsConfigurationSection dsConfig, string assemblyFullName)
        {
            //#if DEBUG

            //            Debugger.Launch();

            //#endif
            Console.WriteLine("InitializationDsEnvironment:{0},{1}".FormatString(dsConfig.ToString(), assemblyFullName));
            try
            {
                //var server;
                IDsEnvironment de = ParentContaioner.GetObject <IDsEnvironment>();
                IList <ModuleConfigurationElement> server = (from ModuleConfigurationElement me in dsConfig.Modules
                                                             where me.ModuleType.EndsWith(assemblyFullName)
                                                             select me).ToList <ModuleConfigurationElement>();
                Console.WriteLine("Modules:{0},server count:{0}".FormatString(dsConfig.Modules.Count, server.Count));
                ModuleConfigurationElement mce = server.FirstOrDefault();
                this.AddinInfo = new AddinInfo()
                {
                    AddinAssemblyName     = assemblyFullName,
                    AddinNameSpace        = mce.AssemblyFile.Substring(mce.AssemblyFile.LastIndexOf('/') + 1).Replace(".dll", ""),
                    AddinName             = mce.ModuleName,
                    ConfigurationFilePath = ConfigurationFileHelper.GetAddinConfigurationFilePath(mce.AssemblyFile),
                    AddinConfigurationEle = mce,
                    AddinPath             = PathHelper.GetFullPath(mce.AssemblyFile)
                };
                if (de.AddinInfos.ContainsKey(AddinInfo.AddinName))
                {
                    AddinInfo addin = de.AddinInfos[AddinInfo.AddinName];
                    addin.ConfigurationFilePath = this.AddinInfo.ConfigurationFilePath;
                    addin.AddinConfigurationEle = this.AddinInfo.AddinConfigurationEle;
                    addin.AddinPath             = this.AddinInfo.AddinPath;
                    //throw new Exception("DsEnvironment中注册AddinName失败,原因是AddinName作为键值重复!");
                }
                else
                {
                    de.AddinInfos.Add(mce.ModuleName, AddinInfo);
                }
            }catch (Exception ex)
            {
                Console.WriteLine("InitializationDsEnvironment异常:{0}".FormatString(ex.StackTrace.ToString()));

                throw new Exception("InitializationDsEnvironment异常。", ex);
            }
        }
コード例 #24
0
        public void CanDeserializeSerializedSectionWithManyEmptyTypes()
        {
            ValidationSettings rwSettings = new ValidationSettings();

            rwSettings.Types.Add(new ValidatedTypeReference(typeof(string)));
            rwSettings.Types.Add(new ValidatedTypeReference(typeof(int)));

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                ValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as ValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(2, roSettings.Types.Count);
                Assert.AreEqual(typeof(string).FullName, roSettings.Types.Get(0).Name);
                Assert.AreEqual(typeof(int).FullName, roSettings.Types.Get(1).Name);
            }
        }
コード例 #25
0
        public void CanDeserializeSerializedInstanceWithValuesSet()
        {
            MockValidationSettings        rwSettings      = new MockValidationSettings();
            RelativeDateTimeValidatorData rwValidatorData = new RelativeDateTimeValidatorData("validator1");

            rwSettings.Validators.Add(rwValidatorData);
            rwValidatorData.Negated        = true;
            rwValidatorData.LowerBound     = 2;
            rwValidatorData.LowerBoundType = RangeBoundaryType.Exclusive;
            rwValidatorData.LowerUnit      = DateTimeUnit.Year;
            rwValidatorData.UpperBound     = 3;
            rwValidatorData.UpperBoundType = RangeBoundaryType.Ignore;
            rwValidatorData.UpperUnit      = DateTimeUnit.Month;

            IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections[ValidationSettings.SectionName] = rwSettings;

            using (ConfigurationFileHelper configurationFileHelper = new ConfigurationFileHelper(sections))
            {
                IConfigurationSource configurationSource = configurationFileHelper.ConfigurationSource;

                MockValidationSettings roSettings = configurationSource.GetSection(ValidationSettings.SectionName) as MockValidationSettings;

                Assert.IsNotNull(roSettings);
                Assert.AreEqual(1, roSettings.Validators.Count);
                Assert.AreEqual("validator1", roSettings.Validators.Get(0).Name);
                Assert.AreSame(typeof(RelativeDateTimeValidator), roSettings.Validators.Get(0).Type);
                Assert.AreEqual(true, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).Negated);
                Assert.AreEqual(2, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBound);
                Assert.AreEqual(RangeBoundaryType.Exclusive, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerBoundType);
                Assert.AreEqual(DateTimeUnit.Year, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).LowerUnit);
                Assert.AreEqual(3, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBound);
                Assert.AreEqual(RangeBoundaryType.Ignore, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperBoundType);
                Assert.AreEqual(DateTimeUnit.Month, ((RelativeDateTimeValidatorData)roSettings.Validators.Get(0)).UpperUnit);
            }
        }
コード例 #26
0
 public static void SetKarmacracyKeypass(string karmacracyKeypass)
 {
     ConfigurationFileHelper.SetValue("KarmacracyKeypass", karmacracyKeypass);
 }
コード例 #27
0
 public static string GetKarmacracyKeypass()
 {
     return(ConfigurationFileHelper.GetValue("KarmacracyKeypass"));
 }
コード例 #28
0
        private ServiceEndpoint GetServiceEndpointByConfig(string configName, string endpointConfigurationName)
        {
            ServiceEndpoint        serviceEndpoint = null;
            DsConfigurationManager dcm             = new DsConfigurationManager();

            System.Configuration.Configuration config = dcm.Get <System.Configuration.Configuration>(ConfigurationFileHelper.GetAddinConfigurationFilePath(configName));
            ClientSection cconfig = config.GetSection(GlobalParams.ClientHostSession) as ClientSection;

            if (cconfig != null)
            {
                if (cconfig.Endpoints.Count > 0)
                {
                    foreach (ChannelEndpointElement e in cconfig.Endpoints)
                    {
                        if (e.Name != endpointConfigurationName)
                        {
                            continue;
                        }
                        channelType     = TypeResolutionUtils.ResolveType(e.Contract);
                        serviceEndpoint = new ServiceEndpoint(ContractDescription.GetContract(channelType), WCFMateHelper.BindingFactory(config, e), new EndpointAddress(e.Address));
                    }
                }
            }
            if (serviceEndpoint == null)
            {
                throw new ArgumentNullException("The configuration file{0},The client access to WCF configuration information is not correct".FormatString(configName));
            }
            return(serviceEndpoint);
        }
コード例 #29
0
        protected override bool Execute(IIntegrationResult result)
        {
            result.BuildProgressInformation.SignalStartRunTask(
                string.Format("Running virtual machine profile '{0}' declared in configuration file '{1}'.",
                              Profile, Configuration));

            string configurationFullPath = result.BaseFromWorkingDirectory(Configuration);

            XmlConfiguration xmlConfiguration = ConfigurationFileHelper.LoadConfiguration(configurationFullPath);
            XmlProfile       xmlProfile       = xmlConfiguration.GetProfileById(Profile);

            if (xmlProfile == null)
            {
                throw new BuilderException(this, string.Format("Did not find profile '{0}' in configuration file '{1}'.", Profile, configurationFullPath));
            }

            global::VMTool.Core.Profile profile = xmlProfile.ToProfile();

            using (CCNetController controller = new CCNetController(profile))
            {
                controller.ConnectionTimeout = TimeSpan.FromSeconds(ConnectionTimeout);

                using (RemoteContext remoteContext = new RemoteContext(controller))
                {
                    remoteContext.RemoteArtifactDirectory = RemoteArtifactDirectory;
                    remoteContext.RemoteWorkingDirectory  = RemoteWorkingDirectory;

                    Status status = controller.GetStatus();

                    switch (ConfiguredStartAction)
                    {
                    case StartAction.Auto:
                        if (xmlProfile.Snapshot != null)
                        {
                            Restart(controller, status);
                        }
                        else
                        {
                            StartOrResume(controller, status);
                        }
                        break;

                    case StartAction.StartOrResume:
                        StartOrResume(controller, status);
                        break;

                    case StartAction.Restart:
                        Restart(controller, status);
                        break;
                    }

                    try
                    {
                        if (Tasks != null)
                        {
                            foreach (ITask task in Tasks)
                            {
                                RunTaskAndMergeResult(task, result);

                                if (result.Status != IntegrationStatus.Success)
                                {
                                    break;
                                }
                            }
                        }

                        if (Publishers != null)
                        {
                            foreach (ITask task in Publishers)
                            {
                                RunTaskAndMergeResult(task, result);
                            }
                        }
                    }
                    finally
                    {
                        switch (ConfiguredStopAction)
                        {
                        case StopAction.Auto:
                            if (xmlProfile.Snapshot != null)
                            {
                                controller.PowerOff();
                            }
                            else
                            {
                                controller.SaveState();
                            }
                            break;

                        case StopAction.SaveState:
                            controller.SaveState();
                            break;

                        case StopAction.Pause:
                            controller.Pause();
                            break;

                        case StopAction.Shutdown:
                            controller.Shutdown();
                            break;

                        case StopAction.PowerOff:
                            controller.PowerOff();
                            break;
                        }
                    }
                }
            }

            return(true);
        }
コード例 #30
0
 public ConfigurationViewModel()
 {
     _configurationSettings = ConfigurationFileHelper.ReadFromFileConfigurationSettings();
     _cultures.AddRange(LocalizationSettings.Cultures);
     SelectedCulture = LocalizationSettings.Culture;
 }