public void SetUp() { provider = new SecuritySettingsManageabilityProvider(new Dictionary<Type, ConfigurationElementManageabilityProvider>(0)); machineKey = new MockRegistryKey(true); userKey = new MockRegistryKey(true); section = new SecuritySettings(); configurationSource = new DictionaryConfigurationSource(); configurationSource.Add(SecuritySettings.SectionName, section); }
public void RegisteredSecurityCacheProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CustomSecurityCacheProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); CustomSecurityCacheProviderData securitycacheProviderData = new CustomSecurityCacheProviderData("securitycacheProvider1", typeof(Object)); section.SecurityCacheProviders.Add(securitycacheProviderData); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(securitycacheProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void ManageabilityProviderGeneratesProperAdmContent() { DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource(); configurationSource.Add(SecuritySettings.SectionName, section); AuthorizationProviderData authorization = new AuthorizationProviderData("authorization", typeof(object)); SecurityCacheProviderData security = new SecurityCacheProviderData("security", typeof(object)); section.AuthorizationProviders.Add(authorization); section.SecurityCacheProviders.Add(security); MockConfigurationElementManageabilityProvider subProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationProviderData), subProvider); subProviders.Add(typeof(SecurityCacheProviderData), subProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.AddAdministrativeTemplateDirectives(contentBuilder, section, configurationSource, "TestApp"); Assert.AreEqual(2, subProvider.configurationObjects.Count); Assert.AreSame(authorization, subProvider.configurationObjects[0]); Assert.AreSame(security, subProvider.configurationObjects[1]); MockAdmContent content = contentBuilder.GetMockContent(); IEnumerator<AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator(); Assert.IsTrue(categoriesEnumerator.MoveNext()); IEnumerator<AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator<AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); IEnumerator<AdmPart> sectionPartsEnumerator = sectionPoliciesEnumerator.Current.Parts.GetEnumerator(); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(SecuritySettingsManageabilityProvider.DefaultAuthorizationProviderPropertyName, ((AdmDropDownListPart)sectionPartsEnumerator.Current).ValueName); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(SecuritySettingsManageabilityProvider.DefaultSecurityCacheProviderPropertyName, ((AdmDropDownListPart)sectionPartsEnumerator.Current).ValueName); Assert.IsFalse(sectionPartsEnumerator.MoveNext()); Assert.IsFalse(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }
public void RegisteredSecurityCacheProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CustomSecurityCacheProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); CustomSecurityCacheProviderData securitycacheProviderData = new CustomSecurityCacheProviderData("securitycacheProvider1", typeof(Object)); section.SecurityCacheProviders.Add(securitycacheProviderData); MockRegistryKey machinesecuritycacheProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.SecurityCacheProvidersKeyName, machinesecuritycacheProvidersKey); MockRegistryKey machinesecuritycacheProviderKey = new MockRegistryKey(false); machinesecuritycacheProvidersKey.AddSubKey("securitycacheProvider1", machinesecuritycacheProviderKey); MockRegistryKey machineOthersecuritycacheProviderKey = new MockRegistryKey(false); machinesecuritycacheProvidersKey.AddSubKey("securitycacheProvider2", machineOthersecuritycacheProviderKey); MockRegistryKey usersecuritycacheProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(SecuritySettingsManageabilityProvider.SecurityCacheProvidersKeyName, usersecuritycacheProvidersKey); MockRegistryKey usersecuritycacheProviderKey = new MockRegistryKey(false); usersecuritycacheProvidersKey.AddSubKey("securitycacheProvider1", usersecuritycacheProviderKey); MockRegistryKey userOthersecuritycacheProviderKey = new MockRegistryKey(false); usersecuritycacheProvidersKey.AddSubKey("securitycacheProvider2", userOthersecuritycacheProviderKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(securitycacheProviderData, registeredProvider.LastConfigurationObject); Assert.AreSame(machinesecuritycacheProviderKey, registeredProvider.machineKey); Assert.AreSame(usersecuritycacheProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machinesecuritycacheProvidersKey, machinesecuritycacheProviderKey, machineOthersecuritycacheProviderKey, usersecuritycacheProvidersKey, usersecuritycacheProviderKey, userOthersecuritycacheProviderKey)); }
public void RegisteredSecurityCacheProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CustomSecurityCacheProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); CustomSecurityCacheProviderData securitycacheProviderData = new CustomSecurityCacheProviderData("securitycacheProvider1", typeof(Object)); section.SecurityCacheProviders.Add(securitycacheProviderData); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(securitycacheProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void SecurityCacheProviderWithDisabledPolicyIsNotRemovedIfGroupPoliciesAreDisabled() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary<Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary<Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(SecurityCacheProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); SecurityCacheProviderData securityCacheProvider1Data = new SecurityCacheProviderData("securityCacheProvider1", typeof(Object)); section.SecurityCacheProviders.Add(securityCacheProvider1Data); SecurityCacheProviderData securityCacheProvider2Data = new SecurityCacheProviderData("securityCacheProvider2", typeof(Object)); section.SecurityCacheProviders.Add(securityCacheProvider2Data); MockRegistryKey machineSecurityCacheProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.SecurityCacheProvidersKeyName, machineSecurityCacheProvidersKey); MockRegistryKey machineSecurityCacheProvider2Key = new MockRegistryKey(false); machineSecurityCacheProvidersKey.AddSubKey("securityCacheProvider2", machineSecurityCacheProvider2Key); machineSecurityCacheProvider2Key.AddBooleanValue(SecuritySettingsManageabilityProvider.PolicyValueName, false); provider.OverrideWithGroupPolicies(section, false, machineKey, userKey); Assert.AreEqual(2, section.SecurityCacheProviders.Count); Assert.IsNotNull(section.SecurityCacheProviders.Get("securityCacheProvider1")); Assert.IsNotNull(section.SecurityCacheProviders.Get("securityCacheProvider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineSecurityCacheProvidersKey, machineSecurityCacheProvider2Key)); }