public void CanDeserializeSerializedConfiguration() { CacheManagerSettings settings = new CacheManagerSettings(); IsolatedStorageCacheStorageData data1 = new IsolatedStorageCacheStorageData(name1, encryption1, partition1); settings.BackingStores.Add(data1); // needed to save configuration settings.CacheManagers.Add(new CacheManagerData("foo", 0, 0, 0, "storage")); IDictionary<string, ConfigurationSection> sections = new Dictionary<string, ConfigurationSection>(); sections[CacheManagerSettings.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); CacheManagerSettings roSettigs = (CacheManagerSettings)configurationSource.GetSection(CacheManagerSettings.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(1, roSettigs.BackingStores.Count); Assert.IsNotNull(roSettigs.BackingStores.Get(name1)); Assert.AreSame(typeof(IsolatedStorageCacheStorageData), roSettigs.BackingStores.Get(name1).GetType()); Assert.AreEqual(name1, roSettigs.BackingStores.Get(name1).Name); Assert.AreEqual(encryption1, ((IsolatedStorageCacheStorageData)roSettigs.BackingStores.Get(name1)).StorageEncryption); Assert.AreEqual(partition1, ((IsolatedStorageCacheStorageData)roSettigs.BackingStores.Get(name1)).PartitionName); }
public void SetUp() { provider = new IsolatedStorageCacheStorageDataManageabilityProvider(); machineKey = new MockRegistryKey(true); userKey = new MockRegistryKey(true); configurationObject = new IsolatedStorageCacheStorageData(); }
/// <summary> /// Initialize a new instance of the<see cref="IsolatedStorageCacheStorageNode"/> class with a <see cref="IsolatedStorageCacheStorageData"/> configuration object. /// </summary> /// <param name="isolatedStorageCacheStorageData">A <see cref="IsolatedStorageCacheStorageData"/> configuration object.</param> public IsolatedStorageCacheStorageNode(IsolatedStorageCacheStorageData isolatedStorageCacheStorageData) { if (isolatedStorageCacheStorageData == null) throw new ArgumentNullException("isolatedStorageCacheStorageData"); Rename(isolatedStorageCacheStorageData.Name); this.partitionName = isolatedStorageCacheStorageData.PartitionName; }
public void CanDeserializeSerializedConfiguration() { CacheManagerSettings settings = new CacheManagerSettings(); IsolatedStorageCacheStorageData data1 = new IsolatedStorageCacheStorageData(name1, encryption1, partition1); settings.BackingStores.Add(data1); // needed to save configuration settings.CacheManagers.Add(new CacheManagerData("foo", 0, 0, 0, "storage")); IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>(); sections[CacheManagerSettings.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); CacheManagerSettings roSettigs = (CacheManagerSettings)configurationSource.GetSection(CacheManagerSettings.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(1, roSettigs.BackingStores.Count); Assert.IsNotNull(roSettigs.BackingStores.Get(name1)); Assert.AreSame(typeof(IsolatedStorageCacheStorageData), roSettigs.BackingStores.Get(name1).GetType()); Assert.AreEqual(name1, roSettigs.BackingStores.Get(name1).Name); Assert.AreEqual(encryption1, ((IsolatedStorageCacheStorageData)roSettigs.BackingStores.Get(name1)).StorageEncryption); Assert.AreEqual(partition1, ((IsolatedStorageCacheStorageData)roSettigs.BackingStores.Get(name1)).PartitionName); }
public void SetUp() { provider = new IsolatedStorageCacheStorageDataManageabilityProvider(); machineKey = new MockRegistryKey(true); userKey = new MockRegistryKey(true); configurationObject = new IsolatedStorageCacheStorageData(); }
/// <summary> /// Initializes a new instance of the <see cref="IsolatedStorageBackingStore"/> class given the configuration data /// </summary> /// <param name="configurationView">An <see cref="CachingConfigurationView"></see> object</param> public override void Initialize(ConfigurationView configurationView) { ArgumentValidation.CheckForNullReference(configurationView, "configurationView"); ArgumentValidation.CheckExpectedType(configurationView, typeof(CachingConfigurationView)); CachingConfigurationView cachingConfigurationView = (CachingConfigurationView)configurationView; IsolatedStorageCacheStorageData isoStoreConfigurationData = (IsolatedStorageCacheStorageData)cachingConfigurationView.GetCacheStorageDataForCacheManager(CurrentCacheManager); if (isoStoreConfigurationData.PartitionName == null) { throw new ConfigurationException(SR.IsolatedStoreAreaNameNullException(isoStoreConfigurationData.Name)); } if (isoStoreConfigurationData.PartitionName.Length == 0) { throw new ConfigurationException(SR.IsolatedStoreAreaNameEmptyException(isoStoreConfigurationData.Name)); } this.storageAreaName = isoStoreConfigurationData.PartitionName; if (isoStoreConfigurationData.StorageEncryption != null) { StorageEncryptionFactory encryptionFactory = new StorageEncryptionFactory(cachingConfigurationView.ConfigurationContext); this.encryptionProvider = encryptionFactory.CreateSymmetricProvider(CurrentCacheManager); } Initialize(); }
public void SetUp() { provider = new ConfigurationElementManageabilityProviderWrapper(new IsolatedStorageCacheStorageDataManageabilityProvider()); machineKey = new MockRegistryKey(true); userKey = new MockRegistryKey(true); wmiSettings = new List <ConfigurationSetting>(); configurationObject = new IsolatedStorageCacheStorageData(); }
public static void GenerateWmiObjects(IsolatedStorageCacheStorageData configurationObject, ICollection <ConfigurationSetting> wmiSettings) { wmiSettings.Add( new IsolatedStorageCacheStorageSetting(configurationObject.Name, configurationObject.PartitionName, configurationObject.StorageEncryption)); }
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()); }
/// <summary> /// Initialize a new instance of the<see cref="IsolatedStorageCacheStorageNode"/> class with a <see cref="IsolatedStorageCacheStorageData"/> configuration object. /// </summary> /// <param name="isolatedStorageCacheStorageData">A <see cref="IsolatedStorageCacheStorageData"/> configuration object.</param> public IsolatedStorageCacheStorageNode(IsolatedStorageCacheStorageData isolatedStorageCacheStorageData) { if (isolatedStorageCacheStorageData == null) { throw new ArgumentNullException("isolatedStorageCacheStorageData"); } Rename(isolatedStorageCacheStorageData.Name); this.partitionName = isolatedStorageCacheStorageData.PartitionName; }
public void DataTest() { string isolatedStorageAreaName = "testStorageAreaName"; IsolatedStorageCacheStorageData data = new IsolatedStorageCacheStorageData(); data.PartitionName = isolatedStorageAreaName; IsolatedStorageCacheStorageNode node = new IsolatedStorageCacheStorageNode(data); Assert.AreEqual(isolatedStorageAreaName, node.PartitionName); }
public StoreInIsolatedStorageBuilder(ICachingConfigurationCacheManager context, string backingStoreName) : base(context) { isolatedStorageData = new IsolatedStorageCacheStorageData { Name = backingStoreName }; base.AddBackingStoreToCachingConfigurationAndCurrentCacheManager(isolatedStorageData); }
public void DataTest() { string isolatedStorageAreaName = "testStorageAreaName"; IsolatedStorageCacheStorageData data = new IsolatedStorageCacheStorageData(); data.PartitionName = isolatedStorageAreaName; IsolatedStorageCacheStorageNode node = new IsolatedStorageCacheStorageNode(data); Assert.AreEqual(isolatedStorageAreaName, node.PartitionName); }
public void CanCreateIsolatedCacheStorageWithoutEncryption() { IsolatedStorageCacheStorageData data = new IsolatedStorageCacheStorageData("name", "", "partition"); settings.BackingStores.Add(data); IServiceLocator container = EnterpriseLibraryContainer.CreateDefaultContainer(configurationSource); IsolatedStorageBackingStore createdObject = (IsolatedStorageBackingStore)container.GetInstance <IBackingStore>("name"); Assert.IsNotNull(createdObject); }
public void EmptyIsolatedStorageAreaNameThrowsException() { IsolatedStorageCacheStorageData configData = new IsolatedStorageCacheStorageData(); configData.Name = "foo"; configData.TypeName = typeof(IsolatedStorageBackingStore).AssemblyQualifiedName; configData.PartitionName = ""; IsolatedStorageBackingStore localStore = new IsolatedStorageBackingStore(); localStore.Initialize(new TestCachingConfigurationView(configData, Context)); }
public void Setup() { IsolatedStorageCacheStorageData isolatedStorageData = new IsolatedStorageCacheStorageData("Isolated Storage", string.Empty, "part"); CacheManagerData cacheManagerData = new CacheManagerData("Default Cache Manager", 10, 10, 10, isolatedStorageData.Name); CacheManagerSettings settings = new CacheManagerSettings(); settings.CacheManagers.Add(cacheManagerData); settings.BackingStores.Add(isolatedStorageData); registrations = settings.GetRegistrations(null); }
public void NodeTest() { string isolatedStorageAreaName = "testStorageAreaName"; IsolatedStorageCacheStorageNode node = new IsolatedStorageCacheStorageNode(); node.PartitionName = isolatedStorageAreaName; Assert.AreEqual(isolatedStorageAreaName, node.PartitionName); IsolatedStorageCacheStorageData data = (IsolatedStorageCacheStorageData)node.CacheStorageData; Assert.AreEqual(isolatedStorageAreaName, data.PartitionName); }
public void ConstructStorageDataFromXml() { XmlTextReader xmlReader = new XmlTextReader(new StringReader(configurationSection)); XmlSerializer xmlSerializer = new XmlSerializer(typeof(IsolatedStorageCacheStorageData)); IsolatedStorageCacheStorageData objectFromConfiguration = xmlSerializer.Deserialize(xmlReader) as IsolatedStorageCacheStorageData; Assert.AreEqual("inIsolatedStorage", objectFromConfiguration.Name); Assert.AreEqual("Foo", objectFromConfiguration.PartitionName); Assert.IsNotNull(Type.GetType(objectFromConfiguration.TypeName)); object createdInstance = Activator.CreateInstance(Type.GetType(objectFromConfiguration.TypeName), null); Assert.IsTrue(createdInstance is IsolatedStorageBackingStore, "Should have created instance of IsolatedStorageBackingStore"); }
void IContainerPolicyCreator.CreatePolicies( IPolicyList policyList, string instanceName, ConfigurationElement configurationObject, IConfigurationSource configurationSource) { IsolatedStorageCacheStorageData castConfigurationObject = (IsolatedStorageCacheStorageData)configurationObject; new PolicyBuilder <IsolatedStorageBackingStore, IsolatedStorageCacheStorageData>( instanceName, castConfigurationObject, c => new IsolatedStorageBackingStore( c.PartitionName, Resolve.OptionalReference <IStorageEncryptionProvider>(c.StorageEncryption))) .AddPoliciesToPolicyList(policyList); }
public void ThenReturnsNewlyConfiguredInstanceAfterReconfigureOfStorageEncryptionProvider() { MockStorageEncryptionProvider.Instantiated = false; storageEncryptionProviderData = new MockStorageEncryptionProviderData("Storage Encryption"); cacheSettings.EncryptionProviders.Add(storageEncryptionProviderData); IsolatedStorageCacheStorageData isolatedStoreData = new IsolatedStorageCacheStorageData(); isolatedStoreData.Name = "Isolated Storage"; isolatedStoreData.PartitionName = "entlib"; isolatedStoreData.StorageEncryption = storageEncryptionProviderData.Name; cacheSettings.BackingStores.Add(isolatedStoreData); cacheManagerData.CacheStorage = isolatedStoreData.Name; configurationSource.DoSourceChanged(new string[] { CacheManagerSettings.SectionName }); CacheManagerFactory factory = new CacheManagerFactory(serviceLcoator); ICacheManager cacheManager = factory.Create(cacheSettings.DefaultCacheManager); Assert.IsTrue(MockStorageEncryptionProvider.Instantiated); }
public void CanInitializeBackingStoreFromConfigurationObjects() { IsolatedStorageCacheStorageData configData = new IsolatedStorageCacheStorageData(); configData.Name = "foo"; configData.TypeName = typeof(IsolatedStorageBackingStore).AssemblyQualifiedName; configData.PartitionName = "Storage"; IsolatedStorageBackingStore localStore = new IsolatedStorageBackingStore(); localStore.Initialize(new TestCachingConfigurationView(configData, Context)); localStore.Add(new CacheItem("key", "value", CacheItemPriority.Normal, null)); localStore.Dispose(); IsolatedStorageBackingStore testStore = new IsolatedStorageBackingStore("Storage"); Hashtable loadedItems = testStore.Load(); testStore.Flush(); testStore.Dispose(); Assert.AreEqual(1, loadedItems.Count, "One item should have been loaded into Storage backing store"); }
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 CacheManagerSettingsManageabilityProvider(subProviders); MockAdmContentBuilder contentBuilder = new MockAdmContentBuilder(); provider.AddAdministrativeTemplateDirectives(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()); IEnumerator<AdmCategory> subCategoriesEnumerator = categoriesEnumerator.Current.Categories.GetEnumerator(); Assert.IsTrue(subCategoriesEnumerator.MoveNext()); IEnumerator<AdmPolicy> cacheManagerPoliciesEnumerator = subCategoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(cacheManagerPoliciesEnumerator.MoveNext()); Assert.IsTrue(cacheManagerPoliciesEnumerator.MoveNext()); Assert.IsFalse(cacheManagerPoliciesEnumerator.MoveNext()); Assert.IsFalse(subCategoriesEnumerator.MoveNext()); IEnumerator<AdmPolicy> sectionPoliciesEnumerator = categoriesEnumerator.Current.Policies.GetEnumerator(); Assert.IsTrue(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(sectionPoliciesEnumerator.MoveNext()); Assert.IsFalse(categoriesEnumerator.MoveNext()); }
/// <summary> /// Creates node with specified configuration data. /// </summary> /// <param name="isolatedStorageCacheStorageData">Configuration data.</param> public IsolatedStorageCacheStorageNode(IsolatedStorageCacheStorageData isolatedStorageCacheStorageData) : base(isolatedStorageCacheStorageData) { this.isolatedStorageCacheStorageData = isolatedStorageCacheStorageData; }
/// <summary> /// Creates node with specified configuration data. /// </summary> /// <param name="isolatedStorageCacheStorageData">Configuration data.</param> public IsolatedStorageCacheStorageNode(IsolatedStorageCacheStorageData isolatedStorageCacheStorageData) : base(isolatedStorageCacheStorageData) { this.isolatedStorageCacheStorageData = isolatedStorageCacheStorageData; }