public void AppOnlyBoundSettingTest() { var envScope = ConfigSettingScope.ForEnvironment("DEV"); var appScope = ConfigSettingScope.ForApp("APP1"); var all = new[] { new ConfigSetting("a", "1"), new ConfigSetting("b", "2"), new ConfigSetting("c", "3"), new ConfigSetting("a", "4") { Scope = envScope, }, new ConfigSetting("a", "5") { Scope = appScope, }, }; var effectiveGlobal = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, ConfigSettingScope.Global); var effectiveForEnv = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, envScope); var effectiveForApp = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, appScope); Assert.AreEqual("1", effectiveGlobal["a"].Definition); Assert.AreEqual("4", effectiveForEnv["a"].Definition); Assert.AreEqual("5", effectiveForApp["a"].Definition); }
public void AppSettingOverridesGlobalAndEnvSettingsTest() { var envScope = ConfigSettingScope.Create("DEV"); var appScope = ConfigSettingScope.Create("DEV", "APP1"); var all = new[] { new ConfigSetting("a", "1"), new ConfigSetting("b", "2"), new ConfigSetting("c", "3"), new ConfigSetting("a", "11") { Scope = envScope }, new ConfigSetting("a", "111") { Scope = appScope }, }; var effectiveGlobal = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, ConfigSettingScope.Global); var effectiveForEnv = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, envScope); var effectiveForApp = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, appScope); Assert.AreEqual("1", effectiveGlobal["a"].Definition); Assert.AreEqual("11", effectiveForEnv["a"].Definition); Assert.AreEqual("111", effectiveForApp["a"].Definition); }
public void EnvironmentsDoNotInterferWithEachOtherTest() { var env1Scope = ConfigSettingScope.Create("DEV"); var env2Scope = ConfigSettingScope.Create("QA"); var all = new[] { new ConfigSetting("a", "1"), new ConfigSetting("b", "2"), new ConfigSetting("c", "3"), new ConfigSetting("a", "4") { Scope = env1Scope }, new ConfigSetting("a", "5") { Scope = env2Scope }, }; var effectiveForEnv1 = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, env1Scope); var effectiveForEnv2 = EffectiveSettingsEvaluator.GetEffectiveAsDict(all, env2Scope); Assert.AreEqual("4", effectiveForEnv1["a"].Definition); Assert.AreEqual("5", effectiveForEnv2["a"].Definition); }