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(); }
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(); }