public override bool OverrideWithGroupPolicies(ConfigurationSection configurationObject, bool readGroupPolicies, IRegistryKey machineKey, IRegistryKey userKey) { called = true; this.configurationObject = configurationObject; this.readGroupPolicies = readGroupPolicies; this.machineKey = machineKey; this.userKey = userKey; IRegistryKey policyKey = GetPolicyKey(machineKey, userKey); if (policyKey != null) { if (!policyKey.GetBoolValue(PolicyValueName).Value) { return(false); } TestsConfigurationSection section = configurationObject as TestsConfigurationSection; if (section != null) { try { section.Value = policyKey.GetStringValue(ValuePropertyName); } catch (RegistryAccessException) { } } } return(true); }
public void CanRequestExistingSection() { TestsConfigurationSection existingSection = new TestsConfigurationSection(); configuration.Sections.Add("section", existingSection); ConfigurationSection section = configurationAccessor.GetSection("section"); Assert.AreSame(existingSection, section); }
public void RequestForExistingSectionIsRecorded() { TestsConfigurationSection existingSection = new TestsConfigurationSection(); configuration.Sections.Add("section", existingSection); ConfigurationSection section = configurationAccessor.GetSection("section"); List<string> sectionNames = CreateCollectionFromEnumerable(configurationAccessor.GetRequestedSectionNames()); Assert.AreEqual(1, sectionNames.Count); Assert.IsTrue(sectionNames.Contains("section")); }
public void HelperWithEmtpyManageabilityProvidersDoesNothing() { TestsConfigurationSection section = new TestsConfigurationSection(originalValue); configurationSource.Add(SectionName, section); MockRegistryKey userKey = new MockRegistryKey(false); currentUser.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), userKey); MockRegistryKey machineKey = new MockRegistryKey(false); localMachine.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), machineKey); ManageabilityHelper helper = new ManageabilityHelper(manageabilityProviders, true, registryAccessor, ApplicationName); helper.UpdateConfigurationManageability(configurationAccessor); Assert.AreEqual(0, currentUser.GetRequests().Count); Assert.AreEqual(0, localMachine.GetRequests().Count); Assert.IsTrue(MockRegistryKey.CheckAllClosed(userKey, machineKey)); }
public void HelperWithManageabilityProviderForExistingSectionDoesInvokeWithApproriateParameters() { TestsConfigurationSection section = new TestsConfigurationSection(originalValue); configurationSource.Add(SectionName, section); MockRegistryKey userKey = new MockRegistryKey(false); currentUser.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), userKey); MockRegistryKey machineKey = new MockRegistryKey(false); localMachine.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), machineKey); MockConfigurationSectionManageabilityProvider manageabilityProvider = new MockConfigurationSectionManageabilityProvider(subProviders); manageabilityProviders.Add(SectionName, manageabilityProvider); ManageabilityHelper helper = new ManageabilityHelper(manageabilityProviders, true, registryAccessor, ApplicationName); helper.UpdateConfigurationManageability(configurationAccessor); Assert.IsTrue(manageabilityProvider.called); Assert.AreEqual(1, currentUser.GetRequests().Count); Assert.AreSame(userKey, manageabilityProvider.userKey); Assert.AreEqual(1, localMachine.GetRequests().Count); Assert.AreSame(machineKey, manageabilityProvider.machineKey); Assert.IsTrue(MockRegistryKey.CheckAllClosed(userKey, machineKey)); }
public void WillNotRemoveRegisteredSectionWithDisabledPolicyIfPolicyOverridesAreDisabled() { TestsConfigurationSection section = new TestsConfigurationSection(originalValue); configurationSource.Add(SectionName, section); MockRegistryKey machineKey = new MockRegistryKey(false); localMachine.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), machineKey); machineKey.AddBooleanValue(AdmContentBuilder.AvailableValueName, false); MockConfigurationSectionManageabilityProvider manageabilityProvider = new MockConfigurationSectionManageabilityProvider(subProviders); manageabilityProviders.Add(SectionName, manageabilityProvider); ManageabilityHelper helper = new ManageabilityHelper(manageabilityProviders, false, registryAccessor, ApplicationName); Assert.IsTrue(configurationSource.Contains(SectionName)); helper.UpdateConfigurationManageability(configurationAccessor); Assert.IsTrue(configurationSource.Contains(SectionName)); }
public void HelperPerformsUpdateForSectionNotPreviouslyProcessed() { TestsConfigurationSection section = new TestsConfigurationSection(originalValue); configurationSource.Add(SectionName, section); MockConfigurationSectionManageabilityProvider manageabilityProvider = new MockConfigurationSectionManageabilityProvider(subProviders); manageabilityProviders.Add(SectionName, manageabilityProvider); ManageabilityHelper helper = new ManageabilityHelper(manageabilityProviders, true, registryAccessor, ApplicationName); helper.UpdateConfigurationManageability(configurationAccessor); Assert.IsTrue(manageabilityProvider.called); }
public void HelperWillNotSendRegistryKeysIfNotAvailable() { TestsConfigurationSection section = new TestsConfigurationSection(originalValue); configurationSource.Add(SectionName, section); MockRegistryKey machineKey = new MockRegistryKey(false); localMachine.AddSubKey(ManageabilityHelper.BuildSectionKeyName(ApplicationName, SectionName), machineKey); MockConfigurationSectionManageabilityProvider manageabilityProvider = new MockConfigurationSectionManageabilityProvider(subProviders); manageabilityProviders.Add(SectionName, manageabilityProvider); ManageabilityHelper helper = new ManageabilityHelper(manageabilityProviders, true, registryAccessor, ApplicationName); helper.UpdateConfigurationManageability(configurationAccessor); Assert.IsTrue(manageabilityProvider.called); Assert.IsTrue(manageabilityProvider.readGroupPolicies); Assert.AreEqual(1, currentUser.GetRequests().Count); Assert.IsNull(manageabilityProvider.userKey); Assert.AreEqual(1, localMachine.GetRequests().Count); Assert.AreSame(machineKey, manageabilityProvider.machineKey); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineKey)); }
public void CanRemoveExistingSection() { TestsConfigurationSection existingSection = new TestsConfigurationSection(); configuration.Sections.Add("section", existingSection); Assert.IsNotNull(configurationAccessor.GetSection("section")); configurationAccessor.RemoveSection("section"); Assert.IsNull(configurationAccessor.GetSection("section")); }
public void MultipleRequestsForExistingAndNonExistingSectionsAreRecordedOnce() { TestsConfigurationSection existingSection1 = new TestsConfigurationSection(); configuration.Sections.Add("section1", existingSection1); TestsConfigurationSection existingSection4 = new TestsConfigurationSection(); configuration.Sections.Add("section4", existingSection4); ConfigurationSection section = configurationAccessor.GetSection("section1"); Assert.AreSame(existingSection1, section); section = configurationAccessor.GetSection("section2"); Assert.IsNull(section); section = configurationAccessor.GetSection("section3"); Assert.IsNull(section); section = configurationAccessor.GetSection("section4"); Assert.AreSame(existingSection4, section); List<string> sectionNames = CreateCollectionFromEnumerable(configurationAccessor.GetRequestedSectionNames()); Assert.AreEqual(4, sectionNames.Count); Assert.IsTrue(sectionNames.Contains("section1")); Assert.IsTrue(sectionNames.Contains("section2")); Assert.IsTrue(sectionNames.Contains("section3")); Assert.IsTrue(sectionNames.Contains("section4")); }