public void TestPerSiteSettingsProvider()
        {
            var key = "myKey";
            var value = "myValue";
            var keyValue = new KeyValuePair<string, string>(key, value);

            var settings = new Mock<ISettings>(MockBehavior.Strict);
            settings.Setup(s => s.DeleteValue(_configSection, key)).Returns(true).Verifiable();
            settings.Setup(s => s.SetValue(_configSection, key, value)).Verifiable();
            settings.Setup(s => s.GetValue(_configSection, key)).Returns(value).Verifiable();
            settings.Setup(s => s.GetValues(_configSection)).Returns((new KeyValuePair<string, string>[] { keyValue }).ToList()).Verifiable();

            var perSiteSettingsProvider = new PerSiteSettingsProvider(settings.Object);

            perSiteSettingsProvider.SetValue(key, value);

            Assert.Equal(value, perSiteSettingsProvider.GetValue(key));

            var results = perSiteSettingsProvider.GetValues();
            Assert.Equal(1, results.Count());
            Assert.Equal(keyValue, results.ElementAt(0));

            perSiteSettingsProvider.DeleteValue(key);

            settings.Verify();
        }
        public static IDeploymentSettingsManager BuildPerDeploymentSettingsManager(string path, IEnumerable <ISettingsProvider> settingsProviders)
        {
            var combinedSettingsProviders = new List <ISettingsProvider>(settingsProviders);

            combinedSettingsProviders.Add(new DeploymentSettingsProvider(path));

            PerSiteSettingsProvider perSiteSettings = null;

            return(new DeploymentSettingsManager(perSiteSettings, combinedSettingsProviders.ToArray()));
        }
        internal DeploymentSettingsManager(PerSiteSettingsProvider perSiteSettings, params ISettingsProvider[] settingsProviders)
        {
            var settingsProvidersList = new List <ISettingsProvider>();

            if (perSiteSettings != null)
            {
                _perSiteSettings = perSiteSettings;
                settingsProvidersList.Add(_perSiteSettings);
            }

            settingsProvidersList.AddRange(settingsProviders);

            _settingsProviders = settingsProvidersList.OrderByDescending(s => s.Priority).ToList();
        }
Ejemplo n.º 4
0
        internal DeploymentSettingsManager(PerSiteSettingsProvider perSiteSettings, params ISettingsProvider[] settingsProviders)
        {
            var settingsProvidersList = new List<ISettingsProvider>();

            if (perSiteSettings != null)
            {
                _perSiteSettings = perSiteSettings;
                settingsProvidersList.Add(_perSiteSettings);
            }

            settingsProvidersList.AddRange(settingsProviders);

            _settingsProviders = settingsProvidersList.OrderByDescending(s => s.Priority).ToList();
        }