public void SymmetricCryptoProviderWithDisabledPolicyIsRemoved() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(SymmetricAlgorithmProviderData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new CryptographySettingsManageabilityProvider(subProviders)); SymmetricAlgorithmProviderData symmetricCryptoProvider1Data = new SymmetricAlgorithmProviderData("symmetricCryptoProvider1", typeof(Object), "key", DataProtectionScope.CurrentUser); section.SymmetricCryptoProviders.Add(symmetricCryptoProvider1Data); SymmetricAlgorithmProviderData symmetricCryptoProvider2Data = new SymmetricAlgorithmProviderData("symmetricCryptoProvider2", typeof(Object), "key", DataProtectionScope.CurrentUser); section.SymmetricCryptoProviders.Add(symmetricCryptoProvider2Data); MockRegistryKey machineSymmetricCryptoProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(CryptographySettingsManageabilityProvider.SymmetricCryptoProvidersKeyName, machineSymmetricCryptoProvidersKey); MockRegistryKey machineSymmetricCryptoProvider2Key = new MockRegistryKey(false); machineSymmetricCryptoProvidersKey.AddSubKey("symmetricCryptoProvider2", machineSymmetricCryptoProvider2Key); machineSymmetricCryptoProvider2Key.AddBooleanValue(CryptographySettingsManageabilityProvider.PolicyValueName, false); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.AreEqual(1, section.SymmetricCryptoProviders.Count); Assert.IsNotNull(section.SymmetricCryptoProviders.Get("symmetricCryptoProvider1")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineSymmetricCryptoProvidersKey, machineSymmetricCryptoProvider2Key)); }
public void HashProviderWithDisabledPolicyIsRemoved() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(HashAlgorithmProviderData), registeredProvider); provider = new CryptographySettingsManageabilityProvider(subProviders); HashAlgorithmProviderData hashProvider1Data = new HashAlgorithmProviderData("hashProvider1", typeof(Object), false); section.HashProviders.Add(hashProvider1Data); HashAlgorithmProviderData hashProvider2Data = new HashAlgorithmProviderData("hashProvider2", typeof(Object), false); section.HashProviders.Add(hashProvider2Data); MockRegistryKey machineHashProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(CryptographySettingsManageabilityProvider.HashProvidersKeyName, machineHashProvidersKey); MockRegistryKey machineHashProvider2Key = new MockRegistryKey(false); machineHashProvidersKey.AddSubKey("hashProvider2", machineHashProvider2Key); machineHashProvider2Key.AddBooleanValue(CryptographySettingsManageabilityProvider.PolicyValueName, false); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreEqual(1, section.HashProviders.Count); Assert.IsNotNull(section.HashProviders.Get("hashProvider1")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineHashProvidersKey, machineHashProvider2Key)); }
public void ManageabilityProviderGeneratesProperAdmContentWithRegisteredProviders() { DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource(); configurationSource.Add(ExceptionHandlingSettings.SectionName, section); ExceptionPolicyData policy1 = new ExceptionPolicyData("policy1"); section.ExceptionPolicies.Add(policy1); ExceptionTypeData exceptionType11 = new ExceptionTypeData("type11", typeof(Exception), PostHandlingAction.None); policy1.ExceptionTypes.Add(exceptionType11); ExceptionHandlerData handler11 = new ExceptionHandlerData("handler11", typeof(object)); exceptionType11.ExceptionHandlers.Add(handler11); MockConfigurationElementManageabilityProvider subProvider = new MockConfigurationElementManageabilityProvider(false, true); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(ExceptionHandlerData), subProvider); provider = new ConfigurationSectionManageabilityProviderWrapper(new ExceptionHandlingSettingsManageabilityProvider(subProviders)); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.InvokeAddAdministrativeTemplateDirectives(contentBuilder, section, configurationSource, "TestApp"); MockAdmContent content = contentBuilder.GetMockContent(); IEnumerator <AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator(); Assert.IsTrue(categoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.SectionCategoryName, categoriesEnumerator.Current.Name); IEnumerator <AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(policy1.Name, subCategoriesEnumerator.Current.Name); IEnumerator <AdmPolicy> policyPoliciesEnumerator = subCategoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(policyPoliciesEnumerator.MoveNext()); Assert.AreEqual(String.Format(Resources.ExceptionTypePolicyNameTemplate, exceptionType11.Name), policyPoliciesEnumerator.Current.Name); IEnumerator <AdmPart> partsEnumerator = policyPoliciesEnumerator.Current.Parts.GetEnumerator(); Assert.IsTrue(partsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), partsEnumerator.Current.GetType()); Assert.IsNull(partsEnumerator.Current.KeyName); Assert.AreEqual(ExceptionHandlingSettingsManageabilityProvider.PolicyTypePostHandlingActionPropertyName, partsEnumerator.Current.ValueName); Assert.IsTrue(partsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmTextPart), partsEnumerator.Current.GetType()); Assert.AreEqual(Resources.ExceptionTypeHandlersPartName, partsEnumerator.Current.PartName); Assert.IsTrue(partsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmTextPart), partsEnumerator.Current.GetType()); Assert.AreEqual(MockConfigurationElementManageabilityProvider.Part, partsEnumerator.Current.PartName); Assert.IsFalse(partsEnumerator.MoveNext()); Assert.IsFalse(policyPoliciesEnumerator.MoveNext()); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }
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)); }
public void AuthorizationProviderWithDisabledPolicyIsNotRemovedIfGroupPoliciesAreDisabled() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationProviderData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new SecuritySettingsManageabilityProvider(subProviders)); AuthorizationProviderData authorizationProvider1Data = new AuthorizationProviderData("authorizationProvider1", typeof(Object)); section.AuthorizationProviders.Add(authorizationProvider1Data); AuthorizationProviderData authorizationProvider2Data = new AuthorizationProviderData("authorizationProvider2", typeof(Object)); section.AuthorizationProviders.Add(authorizationProvider2Data); MockRegistryKey machineAuthorizationProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.AuthorizationProvidersKeyName, machineAuthorizationProvidersKey); MockRegistryKey machineAuthorizationProvider2Key = new MockRegistryKey(false); machineAuthorizationProvidersKey.AddSubKey("authorizationProvider2", machineAuthorizationProvider2Key); machineAuthorizationProvider2Key.AddBooleanValue(SecuritySettingsManageabilityProvider.PolicyValueName, false); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, false, machineKey, userKey, true, wmiSettings); Assert.AreEqual(2, section.AuthorizationProviders.Count); Assert.IsNotNull(section.AuthorizationProviders.Get("authorizationProvider1")); Assert.IsNotNull(section.AuthorizationProviders.Get("authorizationProvider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machineAuthorizationProvidersKey, machineAuthorizationProvider2Key)); }
public void RegisteredHandlerDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(ReplaceHandlerData), registeredProvider); provider = new ExceptionHandlingSettingsManageabilityProvider(subProviders); ExceptionPolicyData policy1 = new ExceptionPolicyData("policy1"); section.ExceptionPolicies.Add(policy1); ExceptionTypeData exceptionType1 = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.None); policy1.ExceptionTypes.Add(exceptionType1); ExceptionHandlerData handlerData1 = new ReplaceHandlerData("handler1", "msg", typeof(ArgumentException).AssemblyQualifiedName); exceptionType1.ExceptionHandlers.Add(handlerData1); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, false, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(handlerData1, 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 ConfigurationSectionManageabilityProviderWrapper(new SecuritySettingsManageabilityProvider(subProviders)); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.InvokeAddAdministrativeTemplateDirectives(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()); Assert.AreEqual(Resources.SecuritySectionCategoryName, categoriesEnumerator.Current.Name); IEnumerator <AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.AuthorizationProvidersCategoryName, subCategoriesEnumerator.Current.Name); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.SecurityCacheProvidersCategoryName, subCategoriesEnumerator.Current.Name); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator <AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); Assert.AreEqual(Resources.SecuritySettingsPolicyName, sectionPoliciesEnumerator.Current.Name); 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 ManageabilityProviderGeneratesProperAdmContent() { DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource(); configurationSource.Add(CacheManagerSettings.SectionName, section); IsolatedStorageCacheStorageData storage1, storage2; CacheManagerData manager1, manager2; StorageEncryptionProviderData encryption1; section.BackingStores.Add(storage1 = new IsolatedStorageCacheStorageData("storage1", "encryption1", "partition1")); section.CacheManagers.Add(manager1 = new CacheManagerData("manager1", 100, 200, 300, "storage1")); section.EncryptionProviders.Add(encryption1 = new StorageEncryptionProviderData("encryption1", typeof(object))); section.BackingStores.Add(storage2 = new IsolatedStorageCacheStorageData("storage2", "", "partition2")); section.CacheManagers.Add(manager2 = new CacheManagerData("manager2", 100, 200, 300, "storage2")); MockConfigurationElementManageabilityProvider subProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(IsolatedStorageCacheStorageData), subProvider); subProviders.Add(typeof(StorageEncryptionProviderData), subProvider); provider = new ConfigurationSectionManageabilityProviderWrapper(new CacheManagerSettingsManageabilityProvider(subProviders)); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.InvokeAddAdministrativeTemplateDirectives(contentBuilder, section, configurationSource, "TestApp"); Assert.AreEqual(3, subProvider.configurationObjects.Count); Assert.AreSame(storage1, subProvider.configurationObjects[0]); Assert.AreSame(encryption1, subProvider.configurationObjects[1]); Assert.AreSame(storage2, subProvider.configurationObjects[2]); MockAdmContent content = contentBuilder.GetMockContent(); IEnumerator <AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator(); Assert.IsTrue(categoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.CachingSectionCategoryName, categoriesEnumerator.Current.Name); IEnumerator <AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.CacheManagersCategoryName, subCategoriesEnumerator.Current.Name); IEnumerator <AdmPolicy> cacheManagerPoliciesEnumerator = subCategoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(cacheManagerPoliciesEnumerator.MoveNext()); Assert.AreEqual(String.Format(Resources.CacheManagerPolicyNameTemplate, manager1.Name), cacheManagerPoliciesEnumerator.Current.Name); Assert.IsTrue(cacheManagerPoliciesEnumerator.MoveNext()); Assert.AreEqual(String.Format(Resources.CacheManagerPolicyNameTemplate, manager2.Name), cacheManagerPoliciesEnumerator.Current.Name); Assert.IsFalse(cacheManagerPoliciesEnumerator.MoveNext()); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator <AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); Assert.AreEqual(Resources.CacheManagerSettingsPolicyName, sectionPoliciesEnumerator.Current.Name); Assert.IsFalse(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }
public void SubProvidersAreSetForNewInstance() { MockConfigurationElementManageabilityProvider subProvider1 = new MockConfigurationElementManageabilityProvider(); MockConfigurationElementManageabilityProvider subProvider2 = new MockConfigurationElementManageabilityProvider(); IDictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(String), subProvider1); subProviders.Add(typeof(Boolean), subProvider2); MockConfigurationSectionManageabilityProvider provider = new MockConfigurationSectionManageabilityProvider(subProviders); Assert.IsNull(provider.GetSubProvider(typeof(Int32))); Assert.AreSame(subProvider1, provider.GetSubProvider(typeof(String))); Assert.AreSame(subProvider2, provider.GetSubProvider(typeof(Boolean))); }
public void RegisteredSymmetricCryptoProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(SymmetricAlgorithmProviderData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new CryptographySettingsManageabilityProvider(subProviders)); SymmetricAlgorithmProviderData symmetricCryptoProviderData = new SymmetricAlgorithmProviderData("symmetricCryptoProvider1", typeof(Object), "key", DataProtectionScope.CurrentUser); section.SymmetricCryptoProviders.Add(symmetricCryptoProviderData); MockRegistryKey machinesymmetricCryptoProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(CryptographySettingsManageabilityProvider.SymmetricCryptoProvidersKeyName, machinesymmetricCryptoProvidersKey); MockRegistryKey machinesymmetricCryptoProviderKey = new MockRegistryKey(false); machinesymmetricCryptoProvidersKey.AddSubKey("symmetricCryptoProvider1", machinesymmetricCryptoProviderKey); MockRegistryKey machineOthersymmetricCryptoProviderKey = new MockRegistryKey(false); machinesymmetricCryptoProvidersKey.AddSubKey("symmetricCryptoProvider2", machineOthersymmetricCryptoProviderKey); MockRegistryKey usersymmetricCryptoProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(CryptographySettingsManageabilityProvider.SymmetricCryptoProvidersKeyName, usersymmetricCryptoProvidersKey); MockRegistryKey usersymmetricCryptoProviderKey = new MockRegistryKey(false); usersymmetricCryptoProvidersKey.AddSubKey("symmetricCryptoProvider1", usersymmetricCryptoProviderKey); MockRegistryKey userOthersymmetricCryptoProviderKey = new MockRegistryKey(false); usersymmetricCryptoProvidersKey.AddSubKey("symmetricCryptoProvider2", userOthersymmetricCryptoProviderKey); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(symmetricCryptoProviderData, registeredProvider.LastConfigurationObject); Assert.AreSame(machinesymmetricCryptoProviderKey, registeredProvider.machineKey); Assert.AreSame(usersymmetricCryptoProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machinesymmetricCryptoProvidersKey, machinesymmetricCryptoProviderKey, machineOthersymmetricCryptoProviderKey, usersymmetricCryptoProvidersKey, usersymmetricCryptoProviderKey, userOthersymmetricCryptoProviderKey)); }
public void RegisteredCacheStorageDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CacheStorageData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new CacheManagerSettingsManageabilityProvider(subProviders)); CacheStorageData data = new CacheStorageData("store1", typeof(NullBackingStore)); section.BackingStores.Add(data); MockRegistryKey machineStoresKey = new MockRegistryKey(false); machineKey.AddSubKey(CacheManagerSettingsManageabilityProvider.BackingStoresKeyName, machineStoresKey); MockRegistryKey machineStoreKey = new MockRegistryKey(false); machineStoresKey.AddSubKey("store1", machineStoreKey); MockRegistryKey machineOtherStoreKey = new MockRegistryKey(false); machineStoresKey.AddSubKey("store2", machineOtherStoreKey); MockRegistryKey userStoresKey = new MockRegistryKey(false); userKey.AddSubKey(CacheManagerSettingsManageabilityProvider.BackingStoresKeyName, userStoresKey); MockRegistryKey userStoreKey = new MockRegistryKey(false); userStoresKey.AddSubKey("store1", userStoreKey); MockRegistryKey userOtherStoreKey = new MockRegistryKey(false); userStoresKey.AddSubKey("store2", userOtherStoreKey); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(data, registeredProvider.LastConfigurationObject); Assert.AreEqual(machineStoreKey, registeredProvider.machineKey); Assert.AreEqual(userStoreKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machineStoresKey, machineStoreKey, machineOtherStoreKey, userStoresKey, userStoreKey, userOtherStoreKey)); }
public void RegisteredSecurityCacheProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CustomSecurityCacheProviderData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( 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.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); 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 RegisteredEncryptionProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(StorageEncryptionProviderData), registeredProvider); provider = new CacheManagerSettingsManageabilityProvider(subProviders); StorageEncryptionProviderData data = new StorageEncryptionProviderData("encryptionprovider1", typeof(Object)); section.EncryptionProviders.Add(data); MockRegistryKey machineEncryptionProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(CacheManagerSettingsManageabilityProvider.EncryptionProvidersKeyName, machineEncryptionProvidersKey); MockRegistryKey machineEncryptionProviderKey = new MockRegistryKey(false); machineEncryptionProvidersKey.AddSubKey("encryptionprovider1", machineEncryptionProviderKey); MockRegistryKey machineOtherEncryptionProviderKey = new MockRegistryKey(false); machineEncryptionProvidersKey.AddSubKey("encryptionprovider2", machineOtherEncryptionProviderKey); MockRegistryKey userEncryptionProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(CacheManagerSettingsManageabilityProvider.EncryptionProvidersKeyName, userEncryptionProvidersKey); MockRegistryKey userEncryptionProviderKey = new MockRegistryKey(false); userEncryptionProvidersKey.AddSubKey("encryptionprovider1", userEncryptionProviderKey); MockRegistryKey userOtherEncryptionProviderKey = new MockRegistryKey(false); userEncryptionProvidersKey.AddSubKey("encryptionprovider2", userOtherEncryptionProviderKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(data, registeredProvider.LastConfigurationObject); Assert.AreEqual(machineEncryptionProviderKey, registeredProvider.machineKey); Assert.AreEqual(userEncryptionProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machineEncryptionProvidersKey, machineEncryptionProviderKey, machineOtherEncryptionProviderKey, userEncryptionProvidersKey, userEncryptionProviderKey, userOtherEncryptionProviderKey)); }
public void RegisteredHashProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(HashAlgorithmProviderData), registeredProvider); provider = new CryptographySettingsManageabilityProvider(subProviders); HashAlgorithmProviderData hashProviderData = new HashAlgorithmProviderData("hashProvider1", typeof(Object), false); section.HashProviders.Add(hashProviderData); MockRegistryKey machineHashProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(CryptographySettingsManageabilityProvider.HashProvidersKeyName, machineHashProvidersKey); MockRegistryKey machineHashProviderKey = new MockRegistryKey(false); machineHashProvidersKey.AddSubKey("hashProvider1", machineHashProviderKey); MockRegistryKey machineOtherhashProviderKey = new MockRegistryKey(false); machineHashProvidersKey.AddSubKey("hashProvider2", machineOtherhashProviderKey); MockRegistryKey userhashProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(CryptographySettingsManageabilityProvider.HashProvidersKeyName, userhashProvidersKey); MockRegistryKey userhashProviderKey = new MockRegistryKey(false); userhashProvidersKey.AddSubKey("hashProvider1", userhashProviderKey); MockRegistryKey userOtherhashProviderKey = new MockRegistryKey(false); userhashProvidersKey.AddSubKey("hashProvider2", userOtherhashProviderKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(hashProviderData, registeredProvider.LastConfigurationObject); Assert.AreSame(machineHashProviderKey, registeredProvider.machineKey); Assert.AreSame(userhashProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machineHashProvidersKey, machineHashProviderKey, machineOtherhashProviderKey, userhashProvidersKey, userhashProviderKey, userOtherhashProviderKey)); }
public void RegisteredAuthorizationProviderDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationRuleProviderData), registeredProvider); provider = new SecuritySettingsManageabilityProvider(subProviders); AuthorizationRuleProviderData authorizationProviderData = new AuthorizationRuleProviderData("authorizationProvider1"); section.AuthorizationProviders.Add(authorizationProviderData); MockRegistryKey machineauthorizationProvidersKey = new MockRegistryKey(false); machineKey.AddSubKey(SecuritySettingsManageabilityProvider.AuthorizationProvidersKeyName, machineauthorizationProvidersKey); MockRegistryKey machineauthorizationProviderKey = new MockRegistryKey(false); machineauthorizationProvidersKey.AddSubKey("authorizationProvider1", machineauthorizationProviderKey); MockRegistryKey machineOtherauthorizationProviderKey = new MockRegistryKey(false); machineauthorizationProvidersKey.AddSubKey("authorizationProvider2", machineOtherauthorizationProviderKey); MockRegistryKey userauthorizationProvidersKey = new MockRegistryKey(false); userKey.AddSubKey(SecuritySettingsManageabilityProvider.AuthorizationProvidersKeyName, userauthorizationProvidersKey); MockRegistryKey userauthorizationProviderKey = new MockRegistryKey(false); userauthorizationProvidersKey.AddSubKey("authorizationProvider1", userauthorizationProviderKey); MockRegistryKey userOtherauthorizationProviderKey = new MockRegistryKey(false); userauthorizationProvidersKey.AddSubKey("authorizationProvider2", userOtherauthorizationProviderKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(authorizationProviderData, registeredProvider.LastConfigurationObject); Assert.AreSame(machineauthorizationProviderKey, registeredProvider.machineKey); Assert.AreSame(userauthorizationProviderKey, registeredProvider.userKey); Assert.IsTrue( MockRegistryKey.CheckAllClosed(machineauthorizationProvidersKey, machineauthorizationProviderKey, machineOtherauthorizationProviderKey, userauthorizationProvidersKey, userauthorizationProviderKey, userOtherauthorizationProviderKey)); }
public void RegisteredHashProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(HashAlgorithmProviderData), registeredProvider); provider = new CryptographySettingsManageabilityProvider(subProviders); HashAlgorithmProviderData hashProviderData = new HashAlgorithmProviderData("hashProvider1", typeof(Object), false); section.HashProviders.Add(hashProviderData); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(hashProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void RegisteredSymmetricCryptoProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(SymmetricAlgorithmProviderData), registeredProvider); provider = new CryptographySettingsManageabilityProvider(subProviders); SymmetricAlgorithmProviderData symmetricCryptoProviderData = new SymmetricAlgorithmProviderData("symmetricCryptoProvider1", typeof(Object), "key", DataProtectionScope.CurrentUser); section.SymmetricCryptoProviders.Add(symmetricCryptoProviderData); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(symmetricCryptoProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
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 RegisteredEncryptionProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(StorageEncryptionProviderData), registeredProvider); provider = new CacheManagerSettingsManageabilityProvider(subProviders); StorageEncryptionProviderData data = new StorageEncryptionProviderData("encryptionprovider1", typeof(Object)); section.EncryptionProviders.Add(data); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.IsTrue(registeredProvider.called); Assert.AreSame(data, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void RegisteredAuthorizationProviderDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(AuthorizationRuleProviderData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new SecuritySettingsManageabilityProvider(subProviders)); AuthorizationRuleProviderData authorizationProviderData = new AuthorizationRuleProviderData("authorizationProvider1"); section.AuthorizationProviders.Add(authorizationProviderData); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(authorizationProviderData, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void RegisteredCacheStorageDataProviderIsCalledWithNoOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(CacheStorageData), registeredProvider); provider = new ConfigurationSectionManageabilityProviderWrapper( new CacheManagerSettingsManageabilityProvider(subProviders)); CacheStorageData data = new CacheStorageData("store1", typeof(NullBackingStore)); section.BackingStores.Add(data); provider.InvokeOverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(data, registeredProvider.LastConfigurationObject); Assert.AreEqual(null, registeredProvider.machineKey); Assert.AreEqual(null, registeredProvider.userKey); }
public void RegisteredHandlerDataProviderIsCalledWithCorrectOverrides() { MockConfigurationElementManageabilityProvider registeredProvider = new MockConfigurationElementManageabilityProvider(); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(ReplaceHandlerData), registeredProvider); provider = new ExceptionHandlingSettingsManageabilityProvider(subProviders); ExceptionPolicyData policy1 = new ExceptionPolicyData("policy1"); section.ExceptionPolicies.Add(policy1); ExceptionTypeData exceptionType1 = new ExceptionTypeData("type1", typeof(Exception), PostHandlingAction.None); policy1.ExceptionTypes.Add(exceptionType1); ExceptionHandlerData handlerData1 = new ReplaceHandlerData("handler1", "msg", typeof(ArgumentException).AssemblyQualifiedName); exceptionType1.ExceptionHandlers.Add(handlerData1); MockRegistryKey machinePoliciesKey = new MockRegistryKey(false); machineKey.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PoliciesKeyName, machinePoliciesKey); MockRegistryKey machinePolicy1Key = new MockRegistryKey(false); machinePoliciesKey.AddSubKey("policy1", machinePolicy1Key); MockRegistryKey machinePolicy1TypesKey = new MockRegistryKey(false); machinePolicy1Key.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PolicyTypesPropertyName, machinePolicy1TypesKey); MockRegistryKey machinePolicy1Type1Key = new MockRegistryKey(false); machinePolicy1TypesKey.AddSubKey("type1", machinePolicy1Type1Key); MockRegistryKey machineHandlersKey = new MockRegistryKey(false); machinePolicy1Type1Key.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PolicyTypeHandlersPropertyName, machineHandlersKey); machinePolicy1Type1Key.AddEnumValue( ExceptionHandlingSettingsManageabilityProvider.PolicyTypePostHandlingActionPropertyName, PostHandlingAction.None); MockRegistryKey machineHandlerKey = new MockRegistryKey(false); machineHandlersKey.AddSubKey("handler1", machineHandlerKey); MockRegistryKey userPoliciesKey = new MockRegistryKey(false); userKey.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PoliciesKeyName, userPoliciesKey); MockRegistryKey userPolicy1Key = new MockRegistryKey(false); userPoliciesKey.AddSubKey("policy1", userPolicy1Key); MockRegistryKey userPolicy1TypesKey = new MockRegistryKey(false); userPolicy1Key.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PolicyTypesPropertyName, userPolicy1TypesKey); MockRegistryKey userPolicy1Type1Key = new MockRegistryKey(false); userPolicy1TypesKey.AddSubKey("type1", userPolicy1Type1Key); MockRegistryKey userHandlersKey = new MockRegistryKey(false); userPolicy1Type1Key.AddSubKey(ExceptionHandlingSettingsManageabilityProvider.PolicyTypeHandlersPropertyName, userHandlersKey); userPolicy1Type1Key.AddEnumValue( ExceptionHandlingSettingsManageabilityProvider.PolicyTypePostHandlingActionPropertyName, PostHandlingAction.None); MockRegistryKey userHandlerKey = new MockRegistryKey(false); userHandlersKey.AddSubKey("handler1", userHandlerKey); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, false, wmiSettings); Assert.IsTrue(registeredProvider.called); Assert.AreSame(handlerData1, registeredProvider.LastConfigurationObject); Assert.AreSame(machineHandlerKey, registeredProvider.machineKey); Assert.AreSame(userHandlerKey, registeredProvider.userKey); Assert.IsTrue(MockRegistryKey.CheckAllClosed(machinePoliciesKey, machinePolicy1Key, machinePolicy1TypesKey, machinePolicy1Type1Key, machineHandlersKey, machineHandlerKey, userPolicy1Key, userPolicy1TypesKey, userPolicy1Type1Key, userHandlersKey, userHandlerKey)); }
public void ManageabilityProviderGeneratesProperAdmContent() { HashProviderData hash = new HashProviderData("hash", typeof(object)); section.HashProviders.Add(hash); SymmetricProviderData symmetric = new SymmetricProviderData("symmetric", typeof(object)); section.SymmetricCryptoProviders.Add(symmetric); MockConfigurationElementManageabilityProvider subProvider = new MockConfigurationElementManageabilityProvider(true, false); Dictionary <Type, ConfigurationElementManageabilityProvider> subProviders = new Dictionary <Type, ConfigurationElementManageabilityProvider>(); subProviders.Add(typeof(HashProviderData), subProvider); subProviders.Add(typeof(SymmetricProviderData), subProvider); provider = new ConfigurationSectionManageabilityProviderWrapper(new CryptographySettingsManageabilityProvider(subProviders)); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.InvokeAddAdministrativeTemplateDirectives(contentBuilder, section, configurationSource, "TestApp"); Assert.AreEqual(2, subProvider.configurationObjects.Count); Assert.AreSame(hash, subProvider.configurationObjects[0]); Assert.AreSame(symmetric, subProvider.configurationObjects[1]); MockAdmContent content = contentBuilder.GetMockContent(); IEnumerator <AdmCategory> categoriesEnumerator = content.Categories.GetEnumerator(); Assert.IsTrue(categoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.CryptographySectionCategoryName, categoriesEnumerator.Current.Name); IEnumerator <AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.HashProvidersCategoryName, subCategoriesEnumerator.Current.Name); IEnumerator <AdmPolicy> policiesEnumerator = subCategoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(policiesEnumerator.MoveNext()); Assert.AreEqual(MockConfigurationElementManageabilityProvider.Policy, policiesEnumerator.Current.Name); Assert.IsFalse(policiesEnumerator.MoveNext()); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); Assert.AreEqual(Resources.SymmetricCryptoProvidersCategoryName, subCategoriesEnumerator.Current.Name); policiesEnumerator = subCategoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(policiesEnumerator.MoveNext()); Assert.AreEqual(MockConfigurationElementManageabilityProvider.Policy, policiesEnumerator.Current.Name); Assert.IsFalse(policiesEnumerator.MoveNext()); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator <AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); Assert.AreEqual(Resources.CryptographySettingsPolicyName, sectionPoliciesEnumerator.Current.Name); IEnumerator <AdmPart> sectionPartsEnumerator = sectionPoliciesEnumerator.Current.Parts.GetEnumerator(); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(CryptographySettingsManageabilityProvider.DefaultHashProviderPropertyName, sectionPartsEnumerator.Current.ValueName); Assert.AreEqual(Resources.CryptographySettingsDefaultHashProviderPartName, sectionPartsEnumerator.Current.PartName); Assert.IsTrue(sectionPartsEnumerator.MoveNext()); Assert.AreSame(typeof(AdmDropDownListPart), sectionPartsEnumerator.Current.GetType()); Assert.AreEqual(CryptographySettingsManageabilityProvider.DefaultSymmetricCryptoProviderPropertyName, sectionPartsEnumerator.Current.ValueName); Assert.AreEqual(Resources.CryptographySettingsDefaultSymmetricCryptoProviderPartName, sectionPartsEnumerator.Current.PartName); Assert.IsFalse(sectionPartsEnumerator.MoveNext()); Assert.IsFalse(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }